Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use requirements.txt to install all dependencies in a python project

I am new to python. Recently I got a project written by python and it requires some installation. I run below command to install but got an error.

# pip install requirements.txt  Collecting requirements.txt   Could not find a version that satisfies the requirement requirements.txt (from versions: ) No matching distribution found for requirements.txt 

I searched on google and found this link http://stackoverflow.com/questions/28167987/python-pip-trouble-installing-from-requirements-txt but I don't quite understand what the solution in that post.

Below is my requirements.txt file:

# cat requirements.txt  ordereddict==1.1 argparse==1.2.1 python-dateutil==2.2 matplotlib==1.3.1 nose==1.3.0 numpy==1.8.0 pymongo==3.3.0 psutil>=2.0 

Is there a easy way to install all required dependencies in this python project?

EDIT1

Below is the output from pip3 install -r requirements.txt.

# pip3 install -r requirements.txt  Requirement already satisfied: ordereddict==1.1 in /usr/local/lib/python3.5/dist-packages (from -r requirements.txt (line 1)) Collecting argparse==1.2.1 (from -r requirements.txt (line 2))   Using cached argparse-1.2.1.tar.gz Collecting python-dateutil==2.2 (from -r requirements.txt (line 3))   Using cached python-dateutil-2.2.tar.gz Collecting matplotlib==1.3.1 (from -r requirements.txt (line 4))   Using cached matplotlib-1.3.1.tar.gz     Complete output from command python setup.py egg_info:     ============================================================================     Edit setup.cfg to change the build options      BUILDING MATPLOTLIB                 matplotlib: yes [1.3.1]                     python: yes [3.5.2 (default, Nov 17 2016, 17:05:23)  [GCC                             5.4.0 20160609]]                   platform: yes [linux]      REQUIRED DEPENDENCIES AND EXTENSIONS                      numpy: yes [version 1.11.3]                   dateutil: yes [using dateutil version 2.6.0]                    tornado: yes [tornado was not found. It is required for the                             WebAgg backend. pip/easy_install may attempt to                             install it after matplotlib.]                  pyparsing: yes [using pyparsing version 2.1.10]                      pycxx: yes [Official versions of PyCXX are not compatible                             with Python 3.x.  Using local copy]                     libagg: yes [pkg-config information for 'libagg' could not                             be found. Using local copy.]                   freetype: no  [The C/C++ header for freetype2 (ft2build.h)                             could not be found.  You may need to install the                             development package.]                        png: yes [pkg-config information for 'libpng' could not                             be found. Using unknown version.]      OPTIONAL SUBPACKAGES                sample_data: yes [installing]                   toolkits: yes [installing]                      tests: yes [using nose version 1.3.7]      OPTIONAL BACKEND EXTENSIONS                     macosx: no  [Mac OS-X only]                     qt4agg: no  [PyQt4 not found]                    gtk3agg: no  [gtk3agg backend does not work on Python 3]                  gtk3cairo: no  [Requires cairo to be installed.]                     gtkagg: no  [Requires pygtk]                      tkagg: no  [TKAgg requires Tkinter.]                      wxagg: no  [requires wxPython]                        gtk: no  [Requires pygtk]                        agg: yes [installing]                      cairo: no  [cairo not found]                  windowing: no  [Microsoft Windows only]      OPTIONAL LATEX DEPENDENCIES                     dvipng: no                ghostscript: no                      latex: no                    pdftops: no      ============================================================================                             * The following required packages can not be built:                             * freetype      ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-don4ne_2/matplotlib/ 

I have already installed libfreetype6-dev but the pip command still reports missing this dependency.

# apt-get install libfreetype6-dev Reading package lists... Done Building dependency tree        Reading state information... Done libfreetype6-dev is already the newest version (2.6.1-0.1ubuntu2). 0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded. 
like image 645
Joey Yi Zhao Avatar asked Jan 04 '17 06:01

Joey Yi Zhao


People also ask

How do you install all packages in requirements txt in Python?

Use the pip install -r requirements. txt command to install all of the Python modules and packages listed in your requirements. txt file. This saves time and effort.

How do I download all dependencies of a Python project?

Download Dependencies Only Use the pipdeptree utility to gather a list of all dependencies, create a requirements. txt file listing all the dependencies, and then download them with the pip download command. Get the list of dependencies for a package from the setup.py file.


2 Answers

If you are using Linux OS:

  1. Remove matplotlib==1.3.1 from requirements.txt
  2. Try to install with sudo apt-get install python-matplotlib
  3. Run pip install -r requirements.txt (Python 2), or pip3 install -r requirements.txt (Python 3)
  4. pip freeze > requirements.txt

If you are using Windows OS:

  1. python -m pip install -U pip setuptools
  2. python -m pip install matplotlib
like image 164
Nilesh Pansuriya Avatar answered Sep 18 '22 04:09

Nilesh Pansuriya


pip install -r requirements.txt for python 2.x

pip3 install -r requirements.txt for python 3.x (in case multiple versions are installed)

like image 44
Krishna Kishore Andhavarapu Avatar answered Sep 20 '22 04:09

Krishna Kishore Andhavarapu