首页 > 解决方案 > PyInstaller 安装在构建依赖项期间超时 - 有什么建议吗?

问题描述

通过浏览 SO 找到了这么多解决方案之后,是时候问我的第一个问题了。

为方便起见,我需要为我的团队提供我的 Python (3.7) 脚本的可执行文件(在 Windows 上),所以经过一番研究后,我选择了 PyInstaller。但是,我在 pip 安装期间一直遇到连接超时,更具体地说是在构建依赖项时,更具体地说是在收集 setuptools 时。我知道这一点,并且阅读了大量或多或少相关的问题,因此我使用的是 pip 18.1。由于我在公司环境中,我还需要使用 --proxy 和 --trusted-host 选项,并且我正在安装在 venv 中。(使用 pip >19.0 和 18.1 时的错误是不同的,因此我知道这不是上面链接中涵盖的问题)

有趣的是,我基本上可以安装具有相同代理和受信任主机设置的任何其他包,甚至 PyInstaller 本身也是从 PyPi.org 下载的,它正在收集安装工具,尤其是遇到错误的工具。有趣的是,setuptools 已经在同一个 venv 中可用。值得一提的是,我得到的错误与我在没有代理/受信任主机的情况下运行 pip install 完全相同,这让我怀疑它确实由于某些原因超时。

我错过了什么?当安装过程尝试构建依赖项时,代理/受信任的主机参数是否可能没有进一步传递?(我也尝试忽略依赖项并手动处理它们,但是根据 pip -h pip 18.1 似乎没有该选项)

稍后我将能够提供准确的错误日志/屏幕截图。

提前致谢

标签: pythonpipdependenciespyinstallerconnection-timeout

解决方案


好吧,事实证明将代理设置为环境变量而不是将它们作为参数传递给 pip 可以解决问题。我必须运行以下一次来设置环境变量:

set http_proxy=http://mycompanys.proxy.com:XXXX
set https_proxy=https://mycompanys.proxy.com:XXXX

...在运行之前

pip install PyInstaller --trusted-host https://pypi.org --trusted-host https://files.pythonhosted.org

希望它对将来的人有所帮助。


推荐阅读