尝试下载所有当前软件包以供脱机使用时出现PIP错误

问题描述

我正在尝试下载TensorFlow及其所有依赖项,以便我可以通过PIP将其安装到没有互联网的另一台计算机上。

我已经通过Tensorflow通过PIP3将tensorflow安装到运行RH UBI8的Docker容器上。

到目前为止,我执行了:pip3冻结> req.txt

然后我执行了

pip3-下载req.txt -d目录

我收到此错误

ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys,setuptools,tokenize; sys.argv[0] = '"'"'/tmp/pip-download-q4ak01zj/gpg/setup.py'"'"'; __file__='"'"'/tmp/pip-download-q4ak01zj/gpg/setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-gc7ddbqr
         cwd: /tmp/pip-download-q4ak01zj/gpg/
    Complete output (1 lines):
    Could not find gpgme-config.  Please install the libgpgme development package.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
我在req.txt中有

gpg==1.10.0

我不明白为什么会出现此错误。我的包裹在我的机器上运行。而且我什至没有尝试安装它,而是试图下载它。为什么甚至要尝试运行安装程序?

解决方法

pip download 以递归方式下载。也就是说,它下载列出的软件包,提取每个下载的软件包并列出依赖项。它会继续下载依赖项的依赖项等等。

Python模块gpg以仅源形式分发,因此pip提取它并运行setup.py 以获取依赖项列表。所说的setup.py包含以下代码:

try:
    subprocess.check_call(gpgme_config + ['--version'],stdout=devnull)
except:
    sys.exit("Could not find gpgme-config.  " +
             "Please install the libgpgme development package.")

始终与setup.py一起执行。因此,pip download运行了该代码,并且该代码未能在您的计算机上找到gpgme-config。因此是错误。

这可能是一个错误,建议您向作者报告:gnupg-devel@gnupg.org

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...