You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Alan Barzilay a593d27e3d readme: fix rst syntax 10 months ago
.github/workflows Add tox tests & codecov github action 12 months ago
docs Initial commit 7 years ago
pipreqs Version bump to 0.4.11 10 months ago
tests Revert "Revert all commits since last release" 12 months ago
.editorconfig Initial commit 7 years ago
.gitignore Added .svn & .hg to directory ignores. 7 years ago
AUTHORS.rst Revert "Revert all commits since last release" 12 months ago
CONTRIBUTING.rst Declare support for Python 3.6 5 years ago
HISTORY.rst Revert "Revert all commits since last release" 12 months ago
LICENSE Initial commit 7 years ago
MANIFEST.in fix(manifest): add stdlib, mapping to tarball 6 years ago
Makefile fix(make): add pip install to makefile 7 years ago
README.rst readme: fix rst syntax 10 months ago
requirements.txt add requirements 7 years ago
setup.cfg Initial commit 7 years ago
setup.py Bump python version 12 months ago
tox.ini Add tox tests & codecov github action 12 months ago

README.rst

pipreqs - Generate requirements.txt file for any project based on imports

image

image

image

image

Installation

pip install pipreqs

Usage

Usage:
    pipreqs [options] [<path>]

Arguments:
    <path>                The path to the directory containing the application files for which a requirements file
                          should be generated (defaults to the current working directory)

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, each separated by a comma
    --no-follow-links     Do not follow symbolic links in the project
    --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
    --mode <scheme>       Enables dynamic versioning with <compat>, <gt> or <non-pin> schemes
                          <compat> | e.g. Flask~=1.1.2
                          <gt>     | e.g. Flask>=1.1.2
                          <no-pin> | e.g. Flask

Example

$ pipreqs /home/project/location
Successfully saved requirements file in /home/project/location/requirements.txt

Contents of requirements.txt

wheel==0.23.0
Yarg==0.1.9
docopt==0.6.2

Why not pip freeze?

  • pip freeze only saves the packages that are installed with pip install in your environment.
  • pip freeze saves all packages in the environment including those that you don't use in your current project (if you don't have virtualenv).
  • and sometimes you just need to create requirements.txt for a new project without installing modules.