# Python

To develop Python scripts in CLion:

* Download and install [Python](http://www.python.org/).

* Make sure that the bundled Python Community Edition plugin is [enabled](managing-plugins.html#open-plugin-settings).

* Configure at least one [Python interpreter](configuring-available-python-interpreters.html) .

If you are a Windows user, we recommend that you install [Python for Windows](https://www.python.org/downloads/windows/).

> **Note:**
> CLion doesn't support the Python interpreter in WSL yet. Feel free to upvote or subscribe to the related YouTrack issue: [CPP-13470](https://youtrack.jetbrains.com/issue/CPP-13470/Combine-CLion-and-PyCharm-Professional).

## Supported versions

* Python 2: version 2.7

* Python 3: from the version 3.9 up to the version 3.15

> **Note:**
> All Python functionality in CLion is fully supported on Python 3.9 or later. For older versions, some functionality might be limited depending on the support provided by individual tools.
>
>
>
> For instance, creating new environments requires Python 3.8 or newer. For new projects based on Python 3.7 and older, create a new environment in your terminal and then [select it in
> CLion](configuring-available-python-interpreters.html#existing-virtual-environment).

The following features are available as part of Python 3.15 support:

* [PEP 800 – Disjoint bases in the type system](https://peps.python.org/pep-0800/)

* [PEP 728 – TypedDict with Typed Extra Items](https://peps.python.org/pep-0728/)

* [PEP 747 – Annotating Type Forms](https://peps.python.org/pep-0747/)

* [PEP 810 – Explicit lazy imports](https://peps.python.org/pep-0810/)

The following features are available as part of Python 3.14 support:

* [PEP 750 – Template Strings](https://peps.python.org/pep-0750/)

* [PEP 765 – Disallow return/break/continue that exit a finally block](https://peps.python.org/pep-0765/)

* [PEP 649 – Deferred Evaluation Of Annotations Using Descriptors](https://peps.python.org/pep-0649/)

* [PEP 758 – Allow except and except* expressions without parentheses](https://peps.python.org/pep-0758/)

The following features are available as part of Python 3.13 support:

* [PEP 696 – Type Defaults for Type Parameters](https://peps.python.org/pep-0696/)

* [PEP 702 – Marking deprecations using the type system](https://peps.python.org/pep-0702/)

* [PEP 742 – Narrowing types with TypeIs](https://peps.python.org/pep-0742/)

* [PEP 705 – TypedDict: Read-only items](https://peps.python.org/pep-0705/)

The following features are available as part of Python 3.12 support:

* [PEP 695 – Type Parameter Syntax](https://peps.python.org/pep-0695/)

* [PEP 669 – Low Impact Monitoring for CPython](https://peps.python.org/pep-0669/)

* [PEP 701 – Syntactic formalization of f-strings](https://peps.python.org/pep-0701/)

* [PEP 698 – Override Decorator for Static Typing](https://peps.python.org/pep-0698/)

* [PEP 692 – Using TypedDict for more precise **kwargs typing](https://peps.python.org/pep-0692/)

The following features are available as part of Python 3.11 support:

* [PEP 673 – Self Type](https://peps.python.org/pep-0673/)

* [PEP 646 – Variadic Generics](https://peps.python.org/pep-0646/)

* [PEP 654 – Exception Groups and except*](https://peps.python.org/pep-0654/)

* [PEP 655 – Marking individual TypedDict items as required or potentially-missing](https://peps.python.org/pep-0655/)

* [PEP 681 – Data Class Transforms](https://peps.python.org/pep-0681/)

## Python support in CLion

CLion provides the following features to help you work with Python:

* Ability to [configure](configuring-available-python-interpreters.html) local interpreters.

* [Python console](null) .

* Run/debug configurations for [Python](run-debug-configuration-python.html) .

* [Python tools support](https://www.jetbrains.com.cn/en-us/help/pycharm/lsp-tools.html).

* Code inspections.

* Intention actions.

* Code completion and resolve.

* Built-in code formatter and separate set of Python [code style settings](code-style-python.html).

* [Find usages](find-highlight-usages.html) in Python code.

* [Quick documentation](viewing-inline-documentation.html) .

* Configuring [Python debugger](debugger-python.html) .

> **Tip:**
> If you are working with Python extension modules, see [Debug Python extensions in CLion](debugging-python-extensions.html).

