Manage dependencies using requirements.txt
PyCharm makes it possible to track the unsatisfied dependencies in your projects, and provides integration with the major means of dependencies management.
Create a new file in the root directory of your project.
In the New File dialog, specify the filename. The recommended name for the requirements file is requirements.txt. When a file with this name is added to the root project directory, it is automatically detected by Python Integrated tools.
Type the names of the required packages as plain text, for example:Django==2.0.3 Flask==0.12.2Note that recursive requirements syntax is supported: you can use the main requirements file, and include the other requirements with
You can also run
pip freeze > requirements.txt in the command line to generate a requirements.txt file for your project. See https://pip.pypa.io/en/stable/reference/pip_freeze/ for more details.
If the name of the requirements file differs from requirements.txt or when you have several requirements files in one project, you have to notify PyCharm about the requirements file you want to apply.
Configuring the default requirements file
Open the Settings/Preferences dialog Ctrl+Alt+S and select .
In the Package requirements file field, type the name of the requirements file or click the browse button and locate the desired file.
Click OK to save the changes.
Though you can edit the dependencies management files according to their syntax, PyCharm provides quick fixes that enable populating these files.
Populating dependency management files
importstatement of a Python file, click a package which is not yet imported. PyCharm suggests a quick-fix:
Select and apply the suggested quick-fix. The package is added to the dependency management file.
PyCharm provides quick fixes and notifications related to the unsatisfied dependencies.
Resolving unsatisfied dependencies
Open a project with the requirements file specified, a notification bar is displayed on top of any Python or requirements file opened in Editor:
Click one of the provided links to satisfy or ignore requirements.