Python - 在 Windows 中找不到 pip.ini 或 pip.conf

Posted

技术标签:

【中文标题】Python - 在 Windows 中找不到 pip.ini 或 pip.conf【英文标题】:Python - cant find pip.ini or pip.conf in Windows 【发布时间】:2015-04-01 10:14:24 【问题描述】:

我在我的 Win7 机器上安装了 Python 2.7.8,它已经预装了 pip。 我已经成功地从 pip 安装了新包,现在我需要在安装中添加自定义存储库 url点子列表

为此,我需要根据Official Manual 修改%APPDATA%\pip\pip.ini 中的pip.ini 但是,任何地方都没有pip 文件夹(不在Roaming 中,不在Local 中,不在LocalLow 中) 也不存在PyPa 文件夹:C:\ProgramData\PyPA\pip\pip.conf

你能告诉我在哪里搜索pip.ini?如何将国外仓库添加到安装列表中?

【问题讨论】:

您是否尝试过创建新文件%APPDATA%\pip\pip.ini 为什么 pip 不支持显示此信息的命令? 【参考方案1】:

已经 7 年了,我认为现在对大多数人来说有一个更好的答案——但这确实取决于 pip 的版本。对于我最近使用的点数:

    $ pip config -v debug

列出它正在寻找的位置,您可以决定是哪个位置 对您的想法最有用。它看起来确实是最近的 更改:在我使用 pip 20.1 拥有的一年前的 docker 图像上 我得到“错误:需要一个操作(编辑、获取、列出、设置、取消设置) 执行。”在那个系统上,pip config -v list 给出了它会尝试的文件列表,这应该是 pip.ini 位置的“全局”、“用户”或“站点”变体。

对于 Windows 10,对于 3.9.6 和 3.6.8 上的 pip 21.2.4,我得到下面的响应,pip config -v debug,而pip config -v list 是静默的(除非找到 pip.ini)。

global:
  C:\ProgramData\pip\pip.ini, exists: False
site:
  c:\py\myvenv\pip.ini, exists: False
user:
  C:\Users\myname\pip\pip.ini, exists: False
  C:\Users\myname\AppData\Roaming\pip\pip.ini, exists: False

从我于 2021 年 6 月从 dockerhub 下载的带有 pip 21.2.2 和 python 3.6.10 的图像:

 pip config -v debug
 env_var:
 env:
 global:
   /etc/xdg/pip/pip.conf, exists: False
   /etc/pip.conf, exists: True
 global.extra-index-url: http://trynexs:8081/repository/repo_group/simple
 site:
   /usr/local/pip.conf, exists: False
 user:
   /home/tanhauser/.pip/pip.conf, exists: False
   /home/tanhauser/.config/pip/pip.conf, exists: False

【讨论】:

【参考方案2】:

我知道这有点晚了,但是,这个帖子在搜索时排名很高。在虚拟环境内部 pip.ini 也可以在虚拟环境的根目录中。来自docs 和https://pip.pypa.io/en/stable/user_guide/?highlight=pip.ini#configuration

Inside a virtualenv:

On Unix and macOS the file is $VIRTUAL_ENV/pip.conf
On Windows the file is: %VIRTUAL_ENV%\pip.ini

【讨论】:

谢谢,以后可能会派上用场。【参考方案3】:

您可以要求pip 列出有效位置,而不是检查知名位置列表:

pip config -v list

趣事

在同一台机器上,使用相同的 pip 版本,有效位置可能会根据实际的 Python 版本而有所不同。

环境:Win 7 x64,HOME环境变量设置为D:\Home

Python 3.7.3:

> pip config -v list
For variant 'global', will try loading 'C:\ProgramData\pip\pip.ini'
For variant 'user', will try loading 'D:\Home\pip\pip.ini'
For variant 'user', will try loading 'C:\Users\foobar\AppData\Roaming\pip\pip.ini'
For variant 'site', will try loading 'C:\Python37\pip.ini'

Python 3.8.0:

> pip config -v list
For variant 'global', will try loading 'C:\ProgramData\pip\pip.ini'
For variant 'user', will try loading 'C:\Users\foobar\pip\pip.ini'
For variant 'user', will try loading 'C:\Users\foobar\AppData\Roaming\pip\pip.ini'
For variant 'site', will try loading 'C:\Python38\pip.ini'

【讨论】:

pip config -v listpip config --verbose list 不行吗? @dumbledad 我手头没有 Windows 机器,所以无法检查。在 Linux 上,它适用于 -v @dumbledad 谢谢,它在 Windows 上也可以正常工作 这真的很有帮助,而且可以跨平台使用,谢谢。【参考方案4】:

不要先猜测检查是否有任何默认的全局/本地配置pip使用以下命令读取: p>

pip config list

这将提供 python 加载的默认配置的所有详细信息。

如果上述命令没有给出任何输出,请尝试使用以下命令查找 pip 尝试查找 全局配置 文件的位置:

pip config --editor <path to editor of your choice> edit

上面的命令会打开pip默认读取的配置文件,否则会报错,说文件不存在。

如果出现错误,请继续创建错误中显示的确切目录和文件结构。创建文件后,请进行更改,例如

[global]
cert = /path/to/base64/ssl/certificate.pem
proxy = http://username:password@ipaddress:port

保存文件,请尝试检查(上面提到的检查命令)是否通过 pip 加载配置。

更多信息请关注pip config documentation

【讨论】:

【参考方案5】:

确保您确实有一个pip.ini 文件,而不是pip.ini.txt

【讨论】:

确实,只有在终端中检查文件时,您才会注意到这一点! -> 如果您的配置实际上是由 pip 拾取的,那么当您在预配置的配置路径列表之后输入 pip config -v list 时,您还将获得配置文件中指定的变量的打印,例如:global.index-url=' %URL%'【参考方案6】:

pip changed the location of the config file in windows starting in pip 6.0pip config docs 说明配置文件的位置如下。

pip --version >= 6(截至 18.1 版尚未再次更改)

%APPDATA%\pip\pip.ini

pip --version
%HOME%\pip\pip.ini

在虚拟环境中

%VIRTUAL_ENV%\pip.ini

全站win7+(同win10)

C:\ProgramData\pip\pip.ini

站点范围的 winxp(注意不支持 windows vista 侧宽)

C:\Documents and Settings\All Users\Application Data\pip\pip.ini

注意:如果 pip 找到多个配置文件,则按以下顺序组合它们:

    已读取站点范围的文件 读取每个用户的文件 已读取特定于 virtualenv 的文件

pip 还添加了一个从 pip 10 开始的配置命令。

pip config --help

【讨论】:

【参考方案7】:

终于整理好了。

显然对于Windows用户pip.ini配置文件没有创建,但是可以手动添加!

只需创建新的%APPDATA%\pip\pip.ini 和自定义存储库的内容:

[install]
find-links = https://<login>:<password>@your.repo.com/custom/url

参考:https://pip.pypa.io/en/stable/user_guide/#config-file

【讨论】:

在 python 3.6 上,它只适用于 C:\ProgramData\pip\pip.conf。 使用 Python 3.8,我必须手动创建 pip 文件夹和 pip.ini 文件。我将它用于我们的公司代理设置。 @ValentinGrégoire 你在哪里创建了你的 pip 文件夹,你是如何确保它在启动时被拾取的? pip config -v list 列出一系列变体。 @QHarr,我在这个答案(%APPDATA%\pip\pip.ini)中建议的地方创建了它。至于被捡起来,我为它祈祷,它奏效了。 @QHarr 查看 alexandrul 的回答。例如,您可以检查没有 [install] 节标题的错误 pip.ini。我只为我的用户安装了 Anaconda。然后, 2xuser variantanaconda variant 都工作(抛出错误)。因为我有用户安装,所以我没有检查global variant【参考方案8】:

所有的答案都是部分错误和正确的。 这取决于如何您的系统配置。唯一的方法(对我来说)是在分配 site_config_files 的位置修补 site-packages/pip/locations.py(在 pip 9.0.1 的第 120 行附近)

打印('##########' + str(site_config_files))

然后运行pip search foo

在我的系统上打印########## ['C:\\ProgramData\\pip\\pip.ini'],我认为我无法创建/编辑该位置。但它只是奏效了。

顺便说一句,对于我的系统,%APPDATA% 指向C:\Users\MYUSER\AppData\Roaming,在我的系统上运行pip未查看

【讨论】:

【参考方案9】:

Windows 10:

我必须在里面创建“pip”目录

C:\Users\UserName\AppData\Roaming\

然后在“pip”目录中创建 pip.ini 文件:

C:\Users\<username>\AppData\Roaming\pip\pip.ini

没有其他位置适合我。

【讨论】:

【参考方案10】:

对我来说(Windows 8,pip 9.0.1,python 3.5.3),正确的路径是

c:\Users\<UserName>\.pypirc      <- sic!, even on windows

【讨论】:

【参考方案11】:

在 Windows 上 pip.exe 按以下顺序查找“pip.ini”:

C:\ProgramData\pip\pip.ini
C:\Users\<username>\pip\pip.ini
C:\Users\<username>\AppData\Roaming\pip\pip.ini

【讨论】:

我不确定情况是否仍然如此。在我的带有 py3.6.3 的 Win7 机器上,当我尝试添加 [list] ...format=columns 时,它仅在放入 APPDATA 时才生效。 那是 2.7,所以你可能是对的。我曾使用 sysinternals procmon 来观察 Python.exe 的运行情况;搜索以访问“pip.ini”。任何人都可以这样做以确保订单仍然相同:docs.microsoft.com/en-us/sysinternals/downloads/procmon 我可以确认一部分。我在C:\Users\&lt;username&gt;\pip\pip.ini%APPDATA%\pip\pip.ini 中都放了一个错误的pip.ini。然后pip config -v list 报告了用户名\pip 目录(我忘记了一个节标题)。这表明 username\pip 目录位于 appdata\pip 目录之前。【参考方案12】:

有点晚了,但供参考: 尝试在%USERPROFILE%\pip\pip.ini(通常为:C:\Users\&lt;username&gt;\pip\pip.ini)中添加 pip.ini 文件。

【讨论】:

将 pip 文件夹直接放在用户文件夹中是我在 Windows 7 和 Windows 10 上使用 Python 3 的方法。感谢 Moshe 的提示。

以上是关于Python - 在 Windows 中找不到 pip.ini 或 pip.conf的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Windows 8 上安装 netCDF4 时出现“需要 Python 版本 2.7,在注册表中找不到”错误

不断收到“在 PATH 中找不到程序 python”

ffmpeg 错误:在 Windows 中找不到 libnpp

pygraphviz ValueError:在路径中找不到程序点[重复]

在路径中找不到 Eclipse g++:windows

为啥 Visual Studio 显示错误,提示在类型 Window 中找不到 Windows.Resources?