I recently found out this alternative method to automatically generate python dependencies for python project management.
It generates requirements.txt file based on the modules & packages you import in your project.
Through this short tutorial I will give you a brief overview on how to use pipreqs.
Installing pipreqs
Installation is pretty straight forward.
pip install pipreqs
Usage
To generate a requirements.txt file run.
pipreqs /<your_project_path>/
You can verify that the requirements.txt appears in the same folder.
You can also list the requirements in command terminal itself by using
--print additional flag.
Also for other options you can always run
pipreqs --help
Here is the help screen
Usage:
pipreqs [options] <path>
Options:
--use-local Use ONLY local package info instead of querying PyPI
--pypi-server <url> Use custom PyPi server
--proxy <url> Use Proxy, parameter will be passed to requests library. You can also just set the
environments parameter in your terminal:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug Print debug information
--ignore <dirs>... Ignore extra directories
--encoding <charset> Use encoding parameter for file open
--savepath <file> Save the list of requirements in the given file
--print Output the list of requirements in the standard output
--force Overwrite existing requirements.txt
--diff <file> Compare modules in requirements.txt to project imports.
--clean <file> Clean up requirements.txt by removing modules that are not imported in project.
Why not use pip freeze ?
As the github repo of pipreqs says:
- pip freeze saves all packages in the environment including even those that you don't use in your current project.
- Also pip freeze is harmful. Read the following post to know more.