惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿
Vercel News
Vercel News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
The Cloudflare Blog
宝玉的分享
宝玉的分享
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog

晚花行乐

马克卡尼在2026年达沃斯论坛上的讲话(阅读材料) | 晚花行乐 鸡娃如何用力才是恰到好处 | 晚花行乐 读万卷书,行万里路的辩证关系 | 晚花行乐 反对培训机构掐尖招生 | 晚花行乐 小泽和建国会谈最后10分钟全文(阅读材料) | 晚花行乐 来看看 DeepSeek 怎么鸡娃 | 晚花行乐 谈谈基本功 | 晚花行乐 惠普 ProDesk SFF PC 各系列参数对比 | 晚花行乐 解决瘦客户机上安装 Debian 12 启动失败问题 | 晚花行乐 意拾喻言:老外写的文言文 | 晚花行乐 笠翁对韵中的典故(十三元) | 晚花行乐 谈谈中考取消四小门 | 晚花行乐 亚马逊云科技产品免费试用攻略(3) - 对象存储服务 | 晚花行乐 在 Windows 10 LTSC 版本上安装 WSL2 | 晚花行乐 Debian 12 的常用配置项 | 晚花行乐 在 Debian 12 上安装 Nvidia 显卡驱动程序 | 晚花行乐 解决 Debian 12 关机失败问题 | 晚花行乐 解决 VS Code 自动更新版本后卡在连接界面 | 晚花行乐 观看巴黎奥运会有感 | 晚花行乐 在 Windows10 上安装惠普旧打印机驱动程序 | 晚花行乐 欢迎关注公众号:晚花行乐 | 晚花行乐 如何编写拼写检查器 | 晚花行乐 亚马逊云科技产品免费试用攻略(2) - 云服务器 | 晚花行乐 Pandas 中 axis 参数的理解(附实例) | 晚花行乐 我打算命个名,叫什么什么 Manager | 晚花行乐 上海武康路历史建筑一览 | 晚花行乐 Python 实现简单的数学表达式解析并处理 | 晚花行乐 观看马拉松的感悟 | 晚花行乐 Python 保存 Cookies 到文件并再次读取 | 晚花行乐 如何为 Hugo 静态网站添加评论功能 | 晚花行乐
pip 配置文件详解 | 晚花行乐
2022-06-02 · via 晚花行乐

pip 的配置文件 pip.conf 用来规定 pip 的行为,有哪些实用的配置项?配置文件一般放在什么地方生效? 本文简单介绍一下。

pip 的命令行选项

为了更好的理解 pip 的配置文件,我们有必要先来看看 pip 的命令行,本文使用的 pip 是 20.0.2 版本:

pip 的帮助文档可以用 pip -h 来查看:

$ pip -h

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
... 此处省略 N 行

General Options:
  -h, --help                  Show help.
  --isolated                  Run pip in an isolated mode
... 此处省略 N 行

可以看到有一些选项,类似:--isolated,除了主命令的选项外,每个子命令也有命令行,比如:

$ pip install --help

.. 此处省略 N 行

Package Index Options:
  -i, --index-url <url>       Base URL of the Python Package Index                              
  --extra-index-url <url>     Extra URLs of package indexes to 
  ... 此处省略 N 行

每个选项都有完整版本(前面有两个-号的)和简略版本(前面只有一个-号的)

在执行 pip 时,命令行里为这些选项赋值,比如:

$ pip install --extra-index-url https://some-url

如果选项太多,写在命令行里明显不方便,而且也不便于重复调用。这里就用到了配置文件 pip.conf

pip 的配置文件的作用

pip 的配置文件,就是为命令行选项赋值,采用完整版本的选项名称。比如:

extra-index-url = https://some-url

就等效于

$ pip install --extra-index-url https://some-url

pip 的配置文件的结构

pip.conf*.ini 文件的结构,以子命令为章节名,除此之外,还有一个 global

[global]
timeout = 60

[install]
timeout = 600

[freeze]
timeout = 6

[list]
format = columns

如果子命令的章节里没有规定,那么就取 global 节中的参数值。

布尔值,也就是开关的值,用 true/false 或者 yes/no 都可以

pip 的配置文件的例子

下面是一个 pip.conf 的例子:

[global]
index-url = http://some-index/pypi

extra-index-url = https://some-extra-index/pypi
                  https://another-extra-index/pypi
                  http://yet-another-extra-index/pypi

disable-pip-version-check = true

trusted-host = some-index
               some-extra-index
               another-extra-index
               yet-another-extra-index

timeout = 600
retries = 10

[list]
format = columns

[freeze]
no-color = yes

pip 的配置文件的保存位置

有4个可能保存的位置:

  1. 任意位置,保存在环境变量 PIP_CONFIG_FILE
  2. 系统级别:一般为 /etc/pip.conf
  3. 用户级别:一般为 $HOME/.pip/pip.conf
  4. 虚拟环境级别:一般为 $VIRTUAL_ENV/pip.conf,比如你用如下命令创建了一个虚拟环境:
$ python -m venv .venv

或者

$ python -m virtualenv .virtualenv

那么如果.venv/pip.conf.virtualenv/pip.conf文件存在,就会被加载。

上面这 4 个保存位置,是按上述顺序逐级加载,如果有相同的参数名称, 后面加载的会覆盖前面的。

比如:

/etc/pip.conf 中设置了 timeout=10$HOME/.pip/pip.conf 中设置了 timeout=60, 那么最终生效的是 timeout=60

各位读后有什么想法,请在下方留言吧!如果对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

精彩评论