如何让 pip 在本地目录中搜索依赖包?

23 浏览
0 Comments

如何让 pip 在本地目录中搜索依赖包?

以下是问题:

我有一个 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 目录中找到它们。 那么出了什么问题?

admin 更改状态以发布 2023年5月23日
0
0 Comments

这对我有用:

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

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

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

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

0
0 Comments

这适用于每个人:

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

解释:

-r,--requirement<文件名>

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

0