遇到问题
今天遇到一个问题,就是使用pip安装一个库时总是报超时错误,网上有很多教程教我用命令行参数指定国内代理,如下的-i可以指定国内源,--proxy可以指定代理服务器。但是每次都要在命令行里面输入这些是很麻烦的,而且网上安装某些库一般都不会带上这些,复制完了都要小改一下才行。所以我就希望可以默认指定这些配置,在我使用pip安装库的时候不必每次都写。
pip install -i mysql-connector-python --proxy="http://serverIP:port"
解决方案
大部分解决方案都是让新增%HOME%\pip\文件,将配置填入该文件。如下图所示,我在这个文件里面填写了一个网上找的国内源,以及我自己的代理服务器。但是通过这种方式配置还是有些繁琐,我找到了一种通过命令行方式配置,适用于window和Linux。
pip config
我找到了pip config命令,有如下的命令行参数。
Usage: pip config [<file-option>] list pip config [<file-option>] [--editor <editor-path>] edit pip config [<file-option>] get name pip config [<file-option>] set name value pip config [<file-option>] unset name pip config [<file-option>] debug
先执行pip config debug如下图所示,其中会找系统中好几个路径下是否存在文件。一般只需要其中一个存在就没问题。
下图是Linux执行命令的结果,和window不一样的是配置文件名是。
执行pip config list查看结果如下。
执行pip config get global.index-url可以得到对应配置的值。
执行pip config set global.index-url 可写入配置。注意看该命令结果会打印写入文件路径,即使在目录不存在文件不存在时也会自动创建目录和文件,然后写入配置文件,这一点非常贴心。
Linux下写入配置文件也会显示具体文件路径,非常人性化啊。
执行pip config unset global.proxy可以删除这条配置,也很方便。
有时候我们想要用文本编辑器自己配置呢,例如复制过来直接粘贴的那种。
window下可以执行:pip config --editor notepad edit,会用记事本自动打开配置文件
Linux下可执行:pip config --editor vim edit,会使用vim打开配置文件,然后可以以愉快地编辑配置文件了。
总结
现在我新配置pip源的时候只需要执行下面3条指令就可以了,完全不需要关心具体配置文件在哪里,window和Linux配置文件路径和文件名的不同我也不用关心。怎一个省心了得,
pip config set global.proxy pip config set global.index-url pip config set in