pipreqs

๐Ÿ“…๏ธ Published: February 4, 2019  โ€ข ๐Ÿ•ฃ 1 min read

pipreqs

This blog was originally posted on dev.to

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>/

pipreqs

You can verify that the requirements.txt appears in the same folder.

pipreqs

You can also list the requirements in command terminal itself by using โ€“print additional flag.

pipreqs

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:

  1. pip freeze saves all packages in the environment including even those that you donโ€™t use in your current project.
  2. Also pip freeze is harmful.
    Read the following post to know more.