这是问题所在:
我有一个 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 ...
我有一个包含所有包 + 其他包的本地存档目录。
我创建了一个新的virtualenv
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 的 site-packages 目录中找不到任何包。那么出了什么问题呢?
这对我有用:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index- 忽略包索引(只查看--find-linksURL)。
--no-index
--find-links
-f, --find-links <URL>- 如果是 HTML 文件的 URL 或路径,则解析档案链接。
-f, --find-links <URL>
如果本地路径或file://URL 是目录,则在目录列表中查找存档。
file://