Shloka Shah
Shloka's Blog

Shloka's Blog

Generating Requirements the easy way with Pipreqs

Generating Requirements the easy way with Pipreqs

Shloka Shah's photo
Shloka Shah
·Apr 21, 2022·

2 min read

Subscribe to my newsletter and never miss my upcoming articles

Play this article

requirements.txt is an essential file that stores the information about all the libraries, modules, and packages that are used while developing a particular project. It contains all the dependencies needed for the project to run.

The traditional way to generate the requirements file is to do

pip freeze > requirements.txt

The above approach works well if you have a virtual env that consists of only the project-specific packages. But in case, you don’t have a virtual env created, pip freeze will save all the packages that were installed in the base environment even if we are not using them in our project.

The easy & faster alternative of pip freeze is the pipreqs package in python.

Generating requirements.txt with pipreqs can be done in two steps:

  1. pip install pipreqs
  2. checkout to the root project folder and run pipreqs . OR pipreqs /path/to/project . This will directly create the file in the root folder.

→ In case you want to review the packages before creating the file, run pipreqs /path/to/project —-print.

→ If the requirements.txt is already created & you want to overwrite it, pipreqs /path/to/project --force.

→ If there are multiple sub-directories within your project & you want to ignore them while creating the requirements, pipreqs /path/to/project --ignore /path/to/directory

→ If you want to store the packages in some other file, use pipreqs /path/to/project --savepath /location/of/file/

Note: pipreqs scans the .py files in the root folder & uses the imports in the project to generate the file, so in case there are some additional plugin dependencies, you will have to add them manually.

Did you find this article valuable?

Support Shloka Shah by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
 
Share this