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

Python - cant find pip.ini or pip.conf in Windows

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

的安装列表

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

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

终于解决了。

显然 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

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

在 windows pip.exe 上按以下顺序查找 "pip.ini":

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

我知道这有点晚了,但是,这个 post 在搜索时排名很高。 Inside a virtual environment pip.ini 也可以在虚拟环境的根目录下。来自 docs and 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

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

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

Windows 10:

我必须在里面创建 'pip' 目录

C:\Users\UserName\AppData\Roaming\

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

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

没有其他位置适合我。

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

print('########## ' + str(site_config_files))

然后 运行 pip search foo

在我的系统上,它打印了 ########## ['C:\ProgramData\pip\pip.ini'],我认为我无法打印到哪个位置 create/edit。但它确实奏效了。

顺便说一句,对于我的系统 %APPDATA% 指向 C:\Users\MYUSER\AppData\Roaming,这是 not looked at when 运行ning pip on my系统.

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

pip --version >= 6(从 18.1 版本开始还没有改变)

%APPDATA%\pip\pip.ini

pip --version < 6

%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 找到多个配置文件,那么它们将按以下顺序组合:

  1. 读取站点范围的文件
  2. 读取每个用户的文件
  3. 读取特定于 virtualenv 的文件

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

pip config --help

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

而不是先猜测 检查 是否有任何默认 global/local 配置 读取pip 使用以下命令:

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

您可以要求 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'

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

    $ pip config -v debug

列出它正在寻找的位置,您可以决定哪个位置 对你的想法最有用。它确实看起来像一个相当新的 变化:在我用 pip 20.1 的 docker 岁图像上 我收到“错误:需要一个操作(编辑、获取、列出、设置、取消设置)来 执行。”在该系统上,pip config -v list 给出了它将尝试的文件列表,这应该是 pip.ini 的 'global'、'user' 或 'site' 变体地点。

对于 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