如何使用 requments.txt 在 python 项目中安装所有依赖项

我是蟒蛇的新手。最近我得到了一个由 python 编写的项目,它需要一些安装。我运行以下命令进行安装,但得到了一个错误。

# 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

我在谷歌上搜索,发现这个链接 http://stackoverflow.com/questions/28167987/python-pip-trouble-installing-from-requirements-txt,但我不太明白的解决方案,在该职位。

下面是我的 Requments.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

在这个 python 项目中有没有一种简单的方法来安装所有必需的依赖项?

编辑1

下面是 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.
316708 次浏览

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

pip3 install -r requirements.txt用于 python 3.x(在安装了多个版本的情况下)

(摘自我的评论)

pip不能处理系统级依赖关系。在继续之前,你必须先学习 apt-get install libfreetype6-dev。(它甚至在你的输出中这样说。下次试着浏览一下这样的错误,通常构建输出非常详细)

如果你使用 Linux 操作系统:

  1. requirements.txt中删除 matplotlib==1.3.1
  2. 尝试用 sudo apt-get install python-matplotlib安装
  3. 运行 pip install -r requirements.txt(Python 2)或 pip3 install -r requirements.txt(Python 3)
  4. pip freeze > requirements.txt

如果你使用 Windows 操作系统:

  1. python -m pip install -U pip setuptools
  2. python -m pip install matplotlib
python -m pip install -r requirements.txt

参考文献: 如何根据本地目录中的 Requments.txt 文件使用 pip 安装软件包?

巨蟒3:

pip3 install -r requirements.txt

巨蟒2:

pip install -r requirements.txt

要获取虚拟环境或整个系统的所有依赖项:

pip freeze

要将所有依赖关系推送到 requments.txt (Linux) :

pip freeze > requirements.txt

如果希望在需求文件中安装所有依赖项,比如 Node.js 项目中的 npm install

在 python 中运行以下命令:

pip3 install -r  ./requirements.txt

你可以使用 pip或者 pip3两种工作方式

If you are using Linux as your OS then you can follow the below-mentioned steps:-

Firstly, remove matplotlib==1.3.1 from requirements.txt

然后尝试用

sudo apt-get install python-matplotlib

运行 pip install -r requirements.txt(Python 2)
pip3 install -r requirements.txt(Python 3)

pip freeze > requirements.txt

如果你使用 Windows 作为操作系统,请按照以下步骤操作:

python -m pip install -U pip setuptools


python -m pip install matplotlib

check out this install all dependencies in a python project page.