如何根据要求使用 pip 安装软件包.txt本地目录中的文件?

2022-09-05 00:56:18

这是问题所在:

我有一个要求.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

激活它后,我尝试根据要求安装软件包.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 的站点包目录中找不到任何包。那么哪里出了问题呢?


答案 1

这适用于每个人:

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

解释:

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

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


答案 2

这对我有用:

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

--no-index- 忽略包索引(仅查看 URL)。--find-links

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

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