The pyright language server offers flexible configuration options specified in a JSON-formatted text configuration. By default, the file is called
pyrightconfig.jsonand is located within the root directory of your project. Pyright settings can also be specified in a
[tool.pyright]section of a
pyrightconfig.jsonfile always takes precedent over
pyproject.tomlif both are present.
A python virtual environment allows you to store all of a project's dependencies, including the Python interpreter and package manager, in a single directory that's isolated from any other Python projects on your computer.
By default, the Pyright language server will look for Python packages in the default global locations. But you can also configure Pyright to use the packages installed in a given virtual environment.
To do this, create a JSON file called
pyrightconfig.jsonat the root of your project. This file must include two keys:
venvPath: a relative path from your project directory to any directory that contains one or more virtual environment directories
venv: the name of a virtual environment directory
For example, a common approach is to create a virtual environment directory called
.venvat the root of your project directory with the following commands:
# create a virtual environment in the .venv directory
python3 -m venv .venv
# set up the current shell to use that virtual environment
Having done that, you would create a
pyrightconfig.jsonwith the following content:
The Pyright language server does not provide code formatting. If you want to automatically reformat your Python code when saving, you'll need to specify an _external_code formatter in your settings. See the configuration documentation for more information.