问题是:

我有一个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的站点包目录中找不到包。那么到底出了什么问题?


当前回答

通常,您需要从本地存档快速安装,而不需要探查PyPI。

首先,下载满足您要求的归档文件:

$ pip install --download <DIR> -r requirements.txt

然后,使用–查找链接和–无索引进行安装:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

其他回答

这对我有用:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--无索引-忽略包索引(只查看--查找链接URL)。

-f、 --find links<URL>-如果是HTML文件的URL或路径,则解析到存档的链接。

如果本地路径或file://URL是目录,则在目录列表中查找存档。

这对每个人都有效:

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

说明:

-r、 --要求<文件名>

从给定的需求文件安装。此选项可以多次使用。

对于virtualenv,安装requirements.txt文件中的所有文件。

cd到requirements.txt所在的目录激活虚拟世界在shell中运行:pip install-r requirements.txt

通常,您需要从本地存档快速安装,而不需要探查PyPI。

首先,下载满足您要求的归档文件:

$ pip install --download <DIR> -r requirements.txt

然后,使用–查找链接和–无索引进行安装:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.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

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