python - 在 debian 上 pip 安装失败并出现 NewConnectionError

标签 python pip python-requests google-compute-engine google-cloud-networking

我经常做pip install <package-name>在我的虚拟环境中的 Google Compute Engine (Debian) 上,但今天我只是收到了我尝试安装的任何包的新连接错误:

 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) 
    after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f42a65bdf60>: 
    Failed to establish a new connection: [Errno 101] Network is unreachable',)': 
    /packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl

我知道还有其他相关帖子建议指定代理,但我已经pip install过去在同一台机器上多次访问,但不知何故今天它只是返回上述错误。看起来不像是代理问题。什么可以改变?

pip版本是 10.0.1并且该机器显然具有实时互联网连接(它是我们在 Google Compute Engine 上的产品服务器)。我可以从机器上成功 ping 网站。

最佳答案

由于 pip3 通过 HTTPS 运行,因此需要为 Google Compute Engine 实例上的传出流量(到特定 IP)打开端口 443

引用GCP docs有关如何执行此操作的详细说明(使用命令行或 GUI)。获取 files.pythonhosted.org 的 IP 以设置目标 IP。

(这个 helpful comment 指出了在 AWS EC2 实例上使用 pip3 的相同问题)

关于python - 在 debian 上 pip 安装失败并出现 NewConnectionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50218268/

相关文章:

python - ImportError : cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3. 8/distutils/__ init__.py)

python - 无法使用 pip 从 pypi 安装

macos - 如何在Mac Mountain Lion OS X v10.8上使用pip安装Scipy

python - 我希望避免超出 http 连接池

Python 3.8 - 软件包版本已损坏,但在本地安装时可以工作

python - 解决 setup.py 中的 header 依赖关系

python - 带有请求的 Post 方法

python - 将嵌套字典传递给请求模块

python - 我应该如何用 Python 编写朴素贝叶斯分类器?

python - 如何将 django 中的 ListCreateAPIView 和 RetrieveUpdateDestroyAPIView 合并到支持所有四种 CRUD 操作的单个 View 中?