【发布时间】:2021-01-06 15:33:42
【问题描述】:
Ubuntu 20.04.1 LTS | Python 3.8.5 |点 20.0.2(通过 python3-pip)
我不小心用自定义索引覆盖了笔记本电脑中的全局 PyPI 索引。 (它的目的是仅在虚拟环境中设置。如果它有用,我使用的是 AWS CodeArtifact。)
我是在运行 pip3 config -v list 并看到 global.index-url 分配了另一个 URL 以及 ~/.config/.pip/pip.conf 列出相同的 URL 之后说的。
为了解决问题,我做了以下事情:
-
将 pip3 的
global.index-url设置为"https://pypi.python.org/pypi",但是当我进行测试以查看它是否有效时,它在尝试在虚拟环境中安装requests(使用它的 pip)时中途停止并说某些依赖项不是满意。 -
然后我将
~/.config/.pip移动到备份中,卸载了python3-pip 并重新安装了软件包,希望重新编写配置。虽然没有创建新的~/config/.pip,但我能够毫无问题地将请求安装到虚拟环境中。
我的困惑源于我不知道 pip 是从哪里来的。下面列出的文件都不存在!
$ pip config -v list
For variant 'global', will try loading '/etc/xdg/xdg-ubuntu/pip/pip.conf'
For variant 'global', will try loading '/etc/xdg/pip/pip.conf'
For variant 'user', will try loading '/home/<user>/.pip/pip.conf'
For variant 'user', will try loading '/home/<user>/.config/pip/pip.conf'
For variant 'site', will try loading '/home/<user>/test_env/venv/pip.conf'
当我在虚拟环境停用的情况下使用 pip3 时,输出略有不同。
$ pip3 config -v list
For variant 'global', will try loading '/etc/xdg/xdg-ubuntu/pip/pip.conf'
For variant 'global', will try loading '/etc/xdg/pip/pip.conf'
For variant 'user', will try loading '/home/<user>/.pip/pip.conf'
For variant 'user', will try loading '/home/<user>/.config/pip/pip.conf'
For variant 'site', will try loading '/usr/pip.conf'
谁能告诉我这一切是如何运作的?
【问题讨论】:
-
对我来说太难了。只需在使用 pip 时嗅探网卡上的流量,看看它的去向
-
Doesn't pip 在执行时显示它的目标,即 pip install package X ??
-
不,它没有。我还确保它没有从缓存中挑选东西 (
--no-cache-dir)。但它没有说明从哪里下载包。 -
pip install paxckageX --verbose
-
找到 . -name 'pip.conf' ---> 有没有显示?