Michael
Michael

Reputation: 42050

Simple dependency management for a Python project

I am coming from Java background and completely new at Python.

Now I have got a small project with a few Python files that contain a few imports. I know I does not have the imported dependencies installed on my computer, so I try to figure out the required dependencies and run pip to install them.

I would like to do it differently. I would prefer to have the dependencies listed in a single file and install them automatically during the build process.

Does it make sense ? If it does I have a few questions:

Upvotes: 16

Views: 13099

Answers (1)

jordanm
jordanm

Reputation: 34924

A common way to manage dependencies for a python project is via a file in root of the project named "requirements.txt". An easy way to make this is:

  1. Setup a python virtualenv for your project
  2. Manually install the required modules via pip
  3. Execute pip freeze > requirements.txt to generate the requirements file

You can then install all the dependencies in other locations using pip install -r requirements.txt.

If you want dependencies to be installed automatically when other people pip install your package, you can use install_requires() in your setup.py.

Upvotes: 18

Related Questions