问题是:

我有一个requirements.txt文件,看起来像:

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

我有一个本地归档目录,包含所有包和其他包。

我用

bin/virtualenv testing

激活后,我尝试根据本地存档目录中的requirements.txt安装软件包。

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

我得到的一些输出似乎表明安装正常:

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py egg_info for package South
....

但后来的检查显示,没有一个软件包安装正确。我无法导入包,并且在virtualenv的站点包目录中找不到包。那么到底出了什么问题?


当前回答

简短的回答

pip install -r /path/to/requirements.txt

或以另一种形式:

python -m pip install -r /path/to/requirements.txt

解释

这里,-r是--requirement的缩写,它要求pip从给定的需求文件中安装。

pip将在检查需求文件中列出的所有项目的可用性后才开始安装,即使一个需求不可用,它也不会开始安装。

安装可用软件包的一个解决方法是逐个安装列出的软件包。为此,请使用以下命令。将显示红色警告,通知您不可用的程序包。

cat requirements.txt | xargs -n 1 pip install

要忽略注释(以#开头的行)和空行,请使用:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install

其他回答

在Windows中,如果您有

c: \文件夹\子文件夹\要求.txt

cd c:\folder\subfolder 
pip install -r requirements.txt

Use:

pip install -r requirements.txt

有关详细信息,请查看帮助选项:

pip install --help

我们可以找到选项“-r”-

-r、 --requirement从给定的需求文件中安装。此选项可以是多次使用。

有关一些常用pip安装选项的更多信息(这是pip安装命令的帮助选项):

此外,以上是一整套选项。请使用pip-install-help获取完整的选项列表。

首先,创建一个虚拟环境。

在Python 3.6中

virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>

在Python 2.7中

virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>

然后激活环境并安装requirement.txt文件中的所有可用软件包。

source <path/to/new/virtualenv>/bin/activate
pip install -r <path/to/requirement.txt>

我也有类似的问题。我试过了:

    pip install -U -r requirements.txt

(-U=更新(如果已安装)

但问题仍然存在。我意识到缺少了一些用于开发的通用库。

    sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

我不知道这对你有没有帮助。

使用pip3 install-r requirements.txt,但确保requirements.txt文件已从源文件中提取,且未添加到.gitignore