首页 > 解决方案 > EnvironmentError 在公共注册表上使用 pipconf 中的私有注册表安装软件包

问题描述

我有一个私人 PyPi 注册表,我的公司使用它来托管内部 Python 包。我已经将我的机器设置为通过私有注册表处理安装依赖项,~/.pip/pip.conf如下所示:

[global]
extra-index-url = https://****:****@company.jfrog.io/artifactory/api/pypi/pypi-local/simple
trusted-host = company.jfrog.io

现在,当我尝试 and 时pip install internal_pkg,一切正常。但是,当我尝试pip install pandas(例如)时,我收到以下错误:

Looking in indexes: https://pypi.org/simple, https://****:****@parkmobile.jfrog.io/artifactory/api/pypi/pypi-local/simple
Collecting pandas
ERROR: Could not install packages due to an EnvironmentError: Failed to parse: https://****:****@company.jfrog.io/artifactory/api/pypi/pypi-local/simple/pandas/

请注意,我的用户名是我的公司电子邮件,因此有@.符号。

我试图理解为什么这会失败。我如何设置一个pip.conf首先在我的私有注册表中查找的内容,但pypi.org例如查看是否在私有注册表中找不到包名称。

谢谢!

标签: pythonpip

解决方案


就像这里解释的那样:PIP 如何在密码中转义字符#?

您可以URL encode使用“有问题”的角色。
在您的情况下@可以编码为%40


推荐阅读