Posted on 周二 17 八月 2021

Pip的设置


公司内网访问外网是通过代理。在公司本上装完python发现不能通过pip装包,配上国内pip源也不行,遂想到是代理的问题。

pip配永久代理适用于:

  1. 访问外网均通过代理;

  2. 拿到了公司的代理服务器地址和端口。可通过IE -> Internet Options -> Connections -> LAN Settings 查看,如果是用的.pac脚本,还需要分析;

  3. 不想每次pip install时都用临时配置

pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple --proxy="myproxyname.mydomain.com:port" --trusted-host pypi.tuna.tsinghua.edu.cn



pip配置文件位置

Windows: (可能在以下三个位置之一,应该是取决于安装方式)

  • C:\ProgramData\pip\pip.ini(全局)

  • C:\Users\YOURUSERNAME\pip\pip.ini(单个用户配置)

  • C:\Users\YOURUSERNAME\AppData\Roaming\pip\pip.ini(单个用户配置)

我是仅为当前用户安装的(无管理员权限),pip.ini在 C:\Users\YOURUSERNAME\AppData\Roaming\pip\pip.ini

Linux:

~/.pip/pip.conf

若没有,可以用以下命令创建

mkdir -p ~/.pip && touch ~/.pip/pip.conf

设置永久代理和源


可以先用命令行加一个pip源:


pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


这样做的好处是它能返回一个配置文件的地址,接下来直接去改这个配置文件就好:

H:\>pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Writing to C:\Users\henyang\AppData\Roaming\pip\pip.ini



写配置文件

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
proxy=http://hostname.example.com:port
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn





配置完成后,使用pip -v config list命令能加载出来所配置的内容即配置成功

H:\>pip -v config list

global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'

global.proxy='http://hostname.example.com:3128'

install.trusted-host='pypi.tuna.tsinghua.edu.cn'



常用国内源

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/