【发布时间】:2019-12-11 01:19:51
【问题描述】:
我使用 Python 3.5 和 pip 8.1.1 作为操作系统包的一部分管理一组 Ubuntu 16.04 服务器。服务器无法访问 Internet,pip 需要配置内部 pypi 镜像。
我在/home/hanxue/.config/pip/pip.conf 有以下配置文件
[global]
index-url = https://pypimirror/simple
cert = /etc/ssl/certs/ca-certificates.crt
不幸的是 pip 8.1.1 没有读取位于~/.config/pip/pip.conf 的配置文件。只有 >10 及以上的 pip 版本使用更一致的 XDG 路径 ~/.config/pip/pip.conf
我已尝试设置 PIP_CONFIG_FILE 环境变量,但 pip 8.1.1 没有选择它
$ PIP_CONFIG_FILE=/home/hanxue/.config/pip/pip.conf /usr/bin/pip3 search tensorflow
我知道我可以在~/.pip/pip.conf 创建文件的副本来解决问题。但这是针对最终用户的,他们最终会得到 2 个pip.conf,从而在未来产生混乱。例如,编辑~/.pip/pip.conf 但发现 pip 19 / python 3.6 并没有拾取设置。
如何让 pip 8.1 从非标准位置获取配置?
【问题讨论】:
-
为什么不给所有人一个
~/.pip/pip.conf? -
@phd pip >= 9.0 不读取
~/.pip/pip.conf。无论如何,配置文件都应该在~/.config下,而不是在$HOME中有单独的点目录 -
我的
pip 19.0.3完美阅读。配置必须在程序期望它们的地方。如果旧版本的pip读取~/.pip/pip.conf而新版本读取~/.pip/pip.conf和~/.config/pip/pip.conf,则可移植的解决方案是将配置放入~/.pip/pip.conf。 -
无论出于何种原因,我再次将
PIP_CONFIG_FILE与 pip 8.1.1 (Ubuntu 16.04) 和 pip 8.1.2 (CentOS 7.4) 一起使用,并且 pip 正在获取非标准的pip.conf位置。我不热衷于使用~/.pip/pip.conf,因为它不符合 XDG,并且被标记为旧路径 github.com/pypa/pip/blob/19.2.1/src/pip/_internal/… -
对我来说恰恰相反:我不关心 XDG,我当然更喜欢
~orver~/.config,而且我不想定义额外的 env var。
标签: python python-3.x ubuntu pip