Last Updated:

Configuring the Python Interpreter

To work with Python code in PyCharm, you need to configure at least one Python interpreter. You can use the system interpreter available when you install Python. You can also create a Virtualenv, Pipenv, or Conda virtual environment. A virtual environment consists of a basic interpreter and installed packages.

With PyCharmProfessional, you can also configure interpreters to execute Python code in remote environments: SSH, Vagrant, WSL (Windows only), Docker, and DockerCompose.

Python Interpreters

When you configure the Python interpreter, you must specify the path to the Python executable file on your system. So, before configuring a Python interpreter, you need to make sure that you have downloaded Python and installed it on your system and you know the path to it.

You can create multiple Python interpreters based on the same Python executable. This is useful when you need to create different virtual environments to develop different types of applications. For example, you can create one virtual environment based on Python 3.6 for developing Django applications and another virtual environment based on the same Python 3.6 for working with scientific libraries.

Python interpreters can be customized for a new project or for a current project (you can create a new interpreter or use one of the existing ones).

Configure an existing Python interpreter

At any time, you can switch the Python interpreter either using the Python interpreter selector or in the project settings/preferences.

The Python interpreter selector is in the status bar. This is the most convenient and fastest way to switch the Python interpreter. Just click on it and select the target interpreter:\

Configuring the Python Interpreter

Change the Python interpreter in the project settings

  1. Press Ctrl+Alt+S to open the IDE settings, and then click Project <ProjectName> | Python interpreter.
  2. Expand the list of available translators and click the Show All link. Then, click the Customize Project Interpreter icon and choose Show All.
    Configuring the Python Interpreter
  3. Select the target interpreter.
    Configuring the Python Interpreter

When PyCharm stops supporting any of the legacy versions of Python, the corresponding Python interpreter is marked as unsupported.

Note: When you change the SSH interpreter, PyCharm displays the appropriate deployment configuration settings. It is not recommended to choose the SSH option, as it does not allow you to synchronize files and is part of an outdated implementation.

Best Python Interpreters of 2021

There is no doubt that Python is one of the most popular programming languages. Over the past few years, it has quickly gained popularity among the global developer community. CPython is the default Python interpreter, however, other options are available.

Python is a high-level programming language, which means that its code is written in a human-readable form. However, the computer does not understand the high-level language, it needs a translator to convert high-level code into machine code so that the OS can do the same. That's where the translator comes in.


Python uses an interpreter as a translation tool for a computer to translate and execute high-level code. When we install Python on our system, we install a Python interpreter that makes python easier to read and execute.

In this article, we have compiled a shortlist of the 5 best Python interpreters that are ideal for use with a high-level programming language. But before that, let's talk about the translator.

What is an interpreter?

An interpreter is a computer program that directly executes program code without changing it to machine language or bytecode. Unlike the compiler, the interpreter does not create a separate file for bytecode, instead it directly executes the source code.

5 Best Python Interpreter Options (Python Implementation)

The original implementation of Python, which is widely used by the Python community and which is present on the official Python website, is implemented using the C programming language.

Like CPython, there are many other implementations – interpreters – available for the Python programming language. Obviously, not all of them are good to use. So, here's our list of the top 5 Python interpreters for 2021 that you can learn and use to expand your python knowledge:

  • CPython
  • PyPy
  • StacklessPython
  • Jython
  • IronPython

Let's go ahead and discuss each of them in detail:

CPython (default Python interpreter)

Supported by Python 3.x versions

It comes as the default Python interpreter if you install Python from the official site. By doing so, you end up installing CPython as the interpreter.

CPython is written in the C and Python programming languages, which is how it got its name. Also, if we look at the common use of Python around the world, CPython is the most widely used implementation of a high-level programming language.

Developed by major Python developers and the community, CPython is maintained by the Python Software Foundation. Although it is an interpreter, it also acts as a compiler. That's because it performs some compilation operations, converts Python code into bytecode, and then uses an interpreter to execute them. All of this happens virtually, so technically it's not a compiler.

So, if you're writing Python code that you want to share with the community as an open source project, you should target CPython users because it obviously has the widest reach.

Supported by Python versions 2.x and 3.x

PyPy is a powerful, fast and fully compatible implementation of Python programming languages. In addition, it is considered the #1 alternative for CPytho. Compared to CPython, PyPy is faster because it is a just-in-time (JIT) compiler. CPython, by contrast, is an interpreter. Any Python code can run on PyPy, except for one that depends on the CPython extension.

Although PyPy is an interpreter, internally it uses meta-tracing, a method that turns the interpreter into a just-in-time compiler. Working with interpreters is very easy, but they usually execute code more slowly than compilers. Consequently, PyPy solves this problem for Python interpreters by turning into a just-in-time (JIT) compiler.

PyPy is highly recommended for those who want to improve the performance of their program. What's more, if you run your Python program using PyPy, it will consume less memory than CPython.


RepoPythonGitHub without stack:
Supported by Python 3.x versions

StacklessPython is another powerful interpreter of the python programming language. Like CPython, it is also written in C and Python. As the name suggests, StacklessPython avoids the C call stack. A call stack is a stack data structure that contains subroutines and defines the flow of controlling function calls. Although StacklessPython avoids stack calls, it uses the stack to call functions.

In addition to other features, StacklessPython also adds support for coroutines, communication channels, and task serialization. Micro-stream is the most important feature of StacklessPython. This avoids much of the overhead associated with normal operating system threads.


Python interpreters are different implementations of Python to facilitate development according to different programming languages. CPython is a widely used implementation/interpreter offered by officialPython.

It is also very important for a python developer to know other Python implementations. We hope that this article on the top 5 Python interpreters has given you enough knowledge about the different python interpreters in particular, and how the python interpreter works in general.