一尘不染

在没有互联网的情况下安装python软件包,并将源代码用作.tar.gz和.whl

python

我们正在尝试在没有互联网的情况下安装几个python软件包。

For ex : python-keystoneclient

为此,我们从https://pypi.python.org/pypi/python-
keystoneclient/1.7.1下载了软件包,并将其保存在服务器中。

但是,在安装tar.gz和.whl软件包时,安装过程将寻找要首先安装的相关软件包。由于服务器中没有Internet连接,因此连接失败。

例如:对于python-keystoneclient,我们有以下依赖包

stevedore (>=1.5.0)
six (>=1.9.0)
requests (>=2.5.2)
PrettyTable (<0.8,>=0.7)
oslo.utils (>=2.0.0)
oslo.serialization (>=1.4.0)
oslo.i18n (>=1.5.0)
oslo.config (>=2.3.0)
netaddr (!=0.7.16,>=0.7.12)
debtcollector (>=0.3.0)
iso8601 (>=0.1.9)
Babel (>=1.3)
argparse
pbr (<2.0,>=1.6)

当我尝试从上面的列表中一个接一个地安装软件包时,再次寻找嵌套依赖。

有什么办法可以列出 所有 相关的软件包,以便安装python-keystoneclient之类的python模块。


阅读 170

收藏
2020-12-20

共1个答案

一尘不染

这是我处理这种情况的方式:

在我可以访问Internet的机器上:

mkdir keystone-deps
pip download python-keystoneclient -d "/home/aviuser/keystone-deps"
tar cvfz keystone-deps.tgz keystone-deps

然后将tar文件移动到无法访问Internet的目标计算机,然后执行以下操作:

tar xvfz keystone-deps.tgz
cd keystone-deps
pip install python_keystoneclient-2.3.1-py2.py3-none-any.whl -f ./ --no-index

您可能需要向命令添加–no-deps,如下所示:

pip install python_keystoneclient-2.3.1-py2.py3-none-any.whl -f ./ --no-index --no-deps
2020-12-20