Configure a Python SDK
To develop Python scripts in IntelliJ IDEA, download and install Python and configure at least one Python SDK. A Python SDK can be specified as a Python interpreter for Python project.
IntelliJ IDEA supports:
To view the list of available SDKs, choose
from the main menu Control+Alt+Shift+S. Python SDKs can be configured on the following levels:To easily tell them from each other, enter different names in the Name field. For more information about SDK configuration, refer to SDKs.
To add a Python SDK, you must configure a Python interpreter. Regardless of the level, you can configure a local or a remote Python interpreter.
Configuring local Python interpreters
To configure a local Python interpreter, adhere to one of the following procedures:
Configure a system interpreter
Ensure that you have downloaded and installed Python on your computer.
- Installing Python on Windows from Microsoft Store
If you are on Windows, you can download Python from the Microsoft Store and install it as a Python interpreter. Once the Python application is downloaded from the Microsoft Store, it becomes available in the list of the Python executables.
Note that interpreters added from the Microsoft Store installations come with some limitations. Because of restrictions on Microsoft Store apps, Python scripts may not have full write access to shared locations such as
TEMP
and the registry.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select System Interpreter.
In the Interpreter drop-down, select one of the Python interpreters that have been installed in your system, or click and in the Select Python Interpreter dialog that opens, choose the desired Python executable.
You will need admin privileges to install, remove, and upgrade packages for the system interpreter. When attempting to install an interpreter package through an intention action, you might receive the following error message: As prompted, consider using a virtual environment for your project.
Click OK to complete the task.
For more information, refer to Configure a system interpreter.
Create a virtualenv environment
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Virtualenv Environment.
The following actions depend on whether you want to create a new virtual environment or to use an existing one.
- New virtual environment
Specify the location of the new virtual environment in the Location field, or click and browse for the desired location in your file system. The directory for the new virtual environment should be empty.
Choose the base interpreter from the list, or click and find the desired Python executable in your file system.
Select the Inherit global site-packages checkbox if you want all packages installed in the global Python on your machine to be added to the virtual environment you're going to create. This checkbox corresponds to the
--system-site-packages
option of the virtualenv tool.Select the Make available to all projects checkbox if you want to reuse this environment when creating Python interpreters in IntelliJ IDEA.
- Existing virtual environment
Choose the desired interpreter from the list.
If the desired interpreter is not on the list, click , and then browse for the desired Python executable (for example, venv/bin/python on macOS or venv\Scripts\python.exe on Windows).
The selected virtual environment will be reused for the current project.
Click OK to complete the task.
For more information, refer to Configure a virtual environment.
Create a conda environment
Ensure that Anaconda or Miniconda is downloaded and installed on your computer, and you're aware of a path to its executable file.
For more information, refer to the installation instructions.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Conda Environment.
The following actions depend on whether you want to create a new conda environment or to use an existing one.
- New conda environment
Specify the location of the new conda environment in the Location field, or click and browse for the desired location in your file system. The directory for the new conda environment should be empty.
Select the Python version from the list.
Normally, IntelliJ IDEA will detect conda installation.
Otherwise, specify the location of the conda executable, or click to browse for it.
Select the Make available to all projects checkbox if you want to reuse this environment when creating Python interpreters in IntelliJ IDEA.
- Existing conda environment
Choose the desired environment from the list.
If the desired interpreter is not on the list, click, and then browse for the Python executable within the previously configured conda environment.
If necessary, specify the location of the conda executable, or click to browse for it.
Select the Make available to all projects checkbox if you want to reuse this environment when creating Python interpreters in IntelliJ IDEA.
The selected conda environment will be reused for the current project.
Click OK to complete the task.
For more information, refer to Configure a conda virtual environment.
Create a pipenv environment
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Pipenv Environment.
Choose the base interpreter from the list, or click and find the desired Python executable in your file system.
If your project contains Pipfile, you can choose whether you want to install the packages listed in it by enabling or disabling the Install packages from Pipfile checkbox. By default, the checkbox is enabled.
If you have added the base binary directory to your
PATH
environmental variable, you don't need to set any additional options: the path to the pipenv executable will be autodetected.If the pipenv executable is not found, follow the pipenv installation procedure to discover the executable path, and then paste it in the Pipenv executable field.
Click OK to complete the task.
When you have set the pipenv virtual environment as a Python interpreter, all available packages are added from the source defined in Pipfile. The packages are installed, removed, and updated in the list of the packages through pipenv rather than through pip.
For more information, refer to Configure a pipenv environment.
Create a Poetry environment
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Poetry Environment.
The following actions depend on whether you want to create a new Poetry environment or to use an existing one.
- New Poetry environment
Select Poetry Environment.
Choose the base interpreter from the list, or click and find the desired Python executable in your file system.
If your project contains pyproject.toml, you can choose whether you want to install the packages listed in it by enabling or disabling the Install packages from pyproject.toml checkbox. By default, the checkbox is enabled.
If IntelliJ IDEA doesn't detect the poetry executable, specify the following path in the Poetry executable field, replacing
jetbrains
with your username:/Users/jetbrains/Library/Application Support/pypoetry/venv/bin/poetryC:\Users\jetbrains\AppData\Roaming\pypoetry\venv\Scripts\poetry.exe/home/jetbrains/.local/bin/poetry
- Existing Poetry environment
Make sure that the project directory contains a pyproject.toml file.
Select Existing environment. Then expand the Interpreter list and choose the desired interpreter.
If the desired interpreter is not on the list, click, and then browse for the Python executable within the previously configured Poetry environment.
The selected Poetry environment will be reused for the current project.
Click OK to complete the task.
For more information, refer to Configure a Poetry environment.
Configuring remote Python interpreters
To configure a remote Python interpreter:
Configure a WSL interpreter
Click the Windows button in the lower-left corner of the screen and start typing
System Information
. To ensure that your system works well with WSL, upgrade your Windows to the latest available version.Install the Windows Subsystem for Linux and initialize your Linux distribution as described in the WSL Installation Guide.
If your Linux distribution doesn't come with rsync, you need to install it:
sudo apt install rsync
sudo pacman -S rsync
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select WSL.
Select the Linux distribution with the required Python interpreter.
In Python interpreter path field, specify the path to the Python executable. You can accept the default, type in a different path, or click to browse.
Click OK.
The configured remote interpreter is added to the list.
Configure an interpreter using Vagrant
Ensure that the following prerequisites are met (outside of IntelliJ IDEA):
One of supported Vagrant providers is installed on your computer.
Vagrant is installed on your computer, and all the necessary infrastructure is created.
The parent folders of the following executable files have been added to the system
PATH
variable:vagrant.bat or vagrant from your Vagrant installation. This should be done automatically by the installer.
VBoxManage.exe or VBoxManage from your Oracle's VirtualBox installation.
The required virtual boxes are created.
Make sure that the Vagrant plugin is installed and enabled.
Ensure that you have properly initiated and started Vagrant. Basically, you need to open the Terminal window and execute the following commands:
$ vagrant init ubuntu/trusty64and
$ vagrant upFor more information, refer to Vagrant documentation.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Vagrant.
In Python interpreter path field, specify the path to the Python executable. You can accept the default, type in a different path, or click to browse.
Click OK.
The configured remote interpreter is added to the list.
Configure an interpreter using SSH
Ensure that there is an SSH server running on a remote host, since IntelliJ IDEA runs remote interpreters via ssh-sessions.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
Select New server configuration, then specify server information (host, port, and username).
Alternatively, you can select Existing server configuration and choose any available deployment configuration from the list.
If needed, click to review the Connection settings, Mappings, and Excluded paths for the selected deployment configuration. Click Next to continue configuring an interpreter.
In the next dialog window, provide the authentication details to connect to the target server.
Select Password or Key pair (OpenSSH or PuTTY) and enter your password or passphrase. If Key pair (OpenSSH or PuTTY) is selected, specify:
Private key: location of the file with a private key
Passphrase: similar to a password, it serves to encrypt the private key.
Click Next to proceed.
In the next dialog window, verify the path to the desired Python interpreter. You can accept the default, or specify a different one. You have to configure the path mappings between your local project and the server. To do that, click next to the Sync folders field and enter the path to the local project folder and the path to the folder on the remote server.
You can also select the checkbox to enable automatic upload of the local changes to the remote server.
Click OK.
The configured remote interpreter is added to the list.
Configure an interpreter using Docker
Make sure that the following prerequisites are met:
Docker is installed, as described in the Docker documentation.
You have stable Internet connection, so that IntelliJ IDEA can download and run
busybox:latest
(the latest version of the BusyBox Docker Official Image). Once you have successfully configured an interpreter using Docker, you can go offline.
Note that you cannot install any Python packages into Docker-based project interpreters.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Docker.
Select an existing Docker configuration in the Docker server dropdown.
Alternatively, click New and perform the following steps to create a new Docker configuration:
- Create a Docker configuration
Click to add a Docker configuration and specify how to connect to the Docker daemon.
The connection settings depend on your Docker version and operating system. For more information, refer to Docker connection settings.
The Connection successful message should appear at the bottom of the dialog.
For more information about mapping local paths to the virtual machine running the Docker daemon when using Docker on Windows or macOS, refer to Virtual machine path mappings for Windows and macOS hosts. You will not be able to use volumes and bind mounts for directories outside of the mapped local path.
This table is not available on a Linux host, where Docker runs natively and you can mount any directory to the container.
Specify the image and the path to the Python executable:
Click OK.
The configured remote interpreter is added to the list.
Configure an interpreter using Docker Compose
Make sure that the following prerequisites are met:
Docker is installed, as described in the Docker documentation.
You have stable Internet connection, so that IntelliJ IDEA can download and run
busybox:latest
(the latest version of the BusyBox Docker Official Image). Once you have successfully configured an interpreter using Docker, you can go offline.
Note that you cannot install any Python packages into Docker-based project interpreters.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, select SDKs under the Platform Settings section, click , and choose Add Python SDK from the popup menu.
In the left-hand pane of the Add Python Interpreter dialog, select Docker Compose.
Select an existing Docker configuration in the Server dropdown.
Alternatively, click New and perform the following steps to create a new Docker configuration:
- Create a Docker configuration
Click to add a Docker configuration and specify how to connect to the Docker daemon.
The connection settings depend on your Docker version and operating system. For more information, refer to Docker connection settings.
The Connection successful message should appear at the bottom of the dialog.
For more information about mapping local paths to the virtual machine running the Docker daemon when using Docker on Windows or macOS, refer to Virtual machine path mappings for Windows and macOS hosts. You will not be able to use volumes and bind mounts for directories outside of the mapped local path.
This table is not available on a Linux host, where Docker runs natively and you can mount any directory to the container.
In Configuration files, specify the docker-compose.yml file. Also select the service.
Optionally, specify environment variables and edit the Compose project name in Project name.
Finally, specify the path to the Python executable:
Click OK.
The configured remote interpreter is added to the list.
For more information about remote Python interpreters, refer to Configure remote Python interpreters.
Removing Python interpreters
If you no longer need a Python interpreter for a project, you can remove it from the project settings.
Navigate to
or press Control+Alt+Shift+S.In the Project Structure dialog, click SDKs node under Platform Settings.
Choose the interpreter that you want to remove and click .
For any of the configured Python interpreters (but Docker-based), you can: