Manage package dependencies in Python project
If we share a python project with others, use a build system or restore an environment, we need to specify the external packages that the project requires.
The recommended approach is to use a
requirements.txt file that contains a list of commands for
pip that installs the required versions of dependent packages.
Note: My assumption is that you are using a virtual environment to set up your project. Developing python projects in a virtual environment is the recommended method.
There are multiple methods to generate
1) pip freeze command
pip freeze > requirements.txt
This command records an environment’s current package list into
requirements.txt. We can ship this file with our project & later every one can easily install dependent packages.
The drawback of this method is
freeze command records all packages in the current environment to
requirements.txt. There is a chance for unused packages.
2) Using pipreqs package
pip install pipreqs
If we are in the same path with our file, we can just write
./. Otherwise we need to give path of our file.
That will create a
requirements.txt file for our project. The important advantage is
pipreqs package only records packages that are imported in project files.
- Solve "ValueError invalid literal for int() with base 10" - Python
- Handling dynamic subdomain with Flask - Python
- A minimal example about WordPress object cache
- Select random element from a list - Python
- Write our first Selenium program with Python 3 & Firefox
Your Questions / Comments
If you found this article interesting, found errors, or just want to discuss about it, please get in touch.