web-dev-qa-db-fra.com

Comment utiliser exigences.txt pour installer toutes les dépendances dans un projet python

Je suis nouveau sur Python. Récemment, j’ai eu un projet écrit par python et il nécessite une installation. Je lance la commande ci-dessous pour installer, mais j'ai une erreur.

# 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

J'ai cherché sur Google et trouvé ce lien http://stackoverflow.com/questions/28167987/python-pip-trouble-installing-from-requirements-txt mais je ne comprends pas très bien quelle est la solution proposée dans ce message.

Ci-dessous, mon fichier exigences.txt:

# 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

Existe-t-il un moyen simple d’installer toutes les dépendances requises dans ce projet python?

EDIT1

Vous trouverez ci-dessous le résultat de 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/

J'ai déjà installé libfreetype6-dev mais la commande pip signale toujours qu'il manque cette dépendance.

# 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.
52
Zhao Yi

Si vous utilisez un système d'exploitation Linux:

  1. Supprimer matplotlib==1.3.1 de requirements.txt
  2. Essayez d'installer avec Sudo apt-get install python-matplotlib
  3. Exécutez pip install -r requirements.txt (Python 2) ou pip3 install -r requirements.txt (Python 3)
  4. pip freeze > requirements.txt

Si vous utilisez le système d'exploitation Windows:

  1. python -m pip install -U pip setuptools
  2. python -m pip install matplotlib
38
Nilesh Pansuriya

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

pip3 install -r requirements.txt pour python 3.x (si plusieurs versions sont installées)

6
Jema

(Tiré de mon commentaire)

pip ne gérera pas les dépendances au niveau du système. Vous devrez apt-get install libfreetype6-dev avant de continuer. (Cela dit même dans votre sortie. Essayez de la survoler pour de telles erreurs la prochaine fois, les sorties de construction sont généralement très détaillées)

1
FMaz