在 pip.conf 中指定多个受信任的主机
Posted
技术标签:
【中文标题】在 pip.conf 中指定多个受信任的主机【英文标题】:Specifying multiple trusted hosts in pip.conf 【发布时间】:2020-04-04 20:31:50 【问题描述】:这是我在/etc/pip.conf
中尝试设置的:
[global]
trusted-host = pypi.org, files.pythonhosted.org
但是,它不能正常工作。
参考资料:
https://pip.pypa.io/en/stable/reference/pip_config
https://pip.pypa.io/en/stable/reference/pip/#cmdoption-trusted-host
另见:pip.conf not paying attention to trusted-host
【问题讨论】:
【参考方案1】:空格分隔,非逗号分隔:
[global]
trusted-host = pypi.org files.pythonhosted.org
或
[global]
trusted-host = pypi.org
files.pythonhosted.org
【讨论】:
能否提供参考以供日后使用?另外,我将如何通过pip config set
做到这一点?
我只是从***.com/a/52054867/7976758 偷来的例子。 pip config set global.trusted-host="pypi.org files.pythonhosted.org"
,我想。【参考方案2】:
从命令行执行
python -m pip config set global.trusted-host=pypi.org files.pythonhosted.org
【讨论】:
【参考方案3】:这适用于我使用命令行、Python 3.9.1、pip 20.2.3 和虚拟环境。 “global.trusted-host”后面没有等号。
pip config set global.trusted-host "pypi.org files.pythonhosted.org pypi.python.org"
动机:我不想在每次安装软件包时断开与 *** 的连接或指定 --trusted-host。
pip config list
产生以下内容:
global.trusted-host='pypi.org files.pythonhosted.org pypi.python.org'
没用:
pip config set global.trusted-host="pypi.org files.pythonhosted.org pypi.python.org"
ERROR: Got unexpected number of arguments, expected 2. (example: "pip config set [name] [value]")
【讨论】:
赞成。易于放入 Dockerfile,以防 SSL 拦截(代理)进行构建【参考方案4】:如果您在使用 pip install application_name 时遇到以下问题:
无法获取 URL https://pypi.org/simple/pip/:确认 ssl 证书时出现问题:HTTPSConnectionPool(host='pypi.org', port=443): url 超出了最大重试次数
以下解决方案将有助于解决问题:- 首先找到 pip 位置。为此,您可以运行以下命令-
pip config -v list
pip 创建的默认推荐位置是:
C:\Users\your_username_here\AppData\Roaming\pip\pip.ini
您需要手动添加以下行-
[global]
trusted-host = pypi.org files.pythonhosted.org
不要在上述位置手动创建pip.ini文件,请运行以下命令行提示符-
python -m pip config set global.trusted-host=pypi.org files.pythonhosted.org
请记住,只需 2 个位置即可获得信任。如果您提供第三个,那么它将引发错误。成功后会自动在上述位置创建 pip.ini 文件,比手动操作要好。
之后像下面这样的命令应该可以正常工作-
pip install virtualenv
我已经在 Windows 10 家庭版中尝试了上述步骤,它对我有用。
希望这个总结有所帮助!
【讨论】:
以上是关于在 pip.conf 中指定多个受信任的主机的主要内容,如果未能解决你的问题,请参考以下文章
如何在 devenv 任务中指定多个构建类型,CruiseControl.net