当前位置:首页 >> 脚本专栏

python设置代理和添加镜像源的方法

为什么要修改镜像源?

一般使用python安装库,会用到pip install xxx 指令或者conda install xxx指令,因为pip和conda默认国外镜像源,这时会在Python的官方源pypi.python.org/pypi 下载,速度很慢,有时会因为超时会抛异常无法下载成功,所以可以选择一些比较稳定速度比较快的国内镜像来下载python库,可以显著加快模块安装速度。

为什么要设置代理?

当计算机被限制上网时(公司安全考虑)就不能连外网了,此时需要设置代理来解决;通常公司要求通过代理联网以保证网络安全(即网络连接外网时需要设置代理才可访问);有时由于国外官方pypi被墙,导致不可用,也可通过设置代理访问。

【注意】:pip和conda修改镜像源的方式有所不同

配置文件

设置代理和添加镜像源前先检测配置文件是否存在,没有则创建之。配置文件的路径(不同系统路径也有所不同):

1). Unix:$HOME/.config/pip/pip.conf

2). Mac:$HOME/Library/Application Support/pip/pip.conf

3). Windows:%APPDATA%\pip\pip.ini,%APPDATA%表示实际路径,例如C:\Users\user_xxx\AppData\Roaming,可在cmd里执行echo %APPDATA%命令查看

【补充】:

1). 凡是pip命令行的参数都可以在配置文件里定义其默认值!

2). which pip可以指出pip的位置(例如:/usr/local/bin/pip)

pip设置代理

1). 单次设置:(Windows和Linux系统一样)

直接在pip时设置代理即可:pip install some-package --proxy=http:// 代理服务器IP:端口号

pip install pandas --proxy=http://10.20.217.2:8080

2). 临时设置(重连后失效):

  (1). Linux系统下:(在终端直接运行)

   export http_proxy='http://代理服务器IP:端口号port'
   export https_proxy='http://代理服务器IP:端口号port'

 export http_proxy=http://109.123.111.111:8000
 export https_proxy=http://109.123.111.111:8000

  (2). windows系统下:(在终端直接运行)

   set http_proxy='http://代理服务器IP:端口号port'

   set http_proxy='http://代理服务器IP:端口号port'

set http_proxy=http://109.123.111.111:8000
set https_proxy=http://109.123.111.111:8000

【注意】:设置之后可能使用ping时还是无法连接外网,但是pip时可以的,因为ping的协议不一样不能使用这个代理、

3). 永久设置:( 打开配置文件)

 (1). Linux系统下打开pip.conf配置文件添加内容如下:

  [global]

  proxy=http://xxx.xxx.xxx.xxx:8080        # 替换出自己的代理地址

  # 在.pip目录创建并编辑pip.conf(没有配置文件时)
  mkdir ~/.pip   # 创建pip文件夹
  cd ~/.pip     # 创建pip.conf文件 
  vi pip.conf    # 打开pip.conf文件 
  # 按i进入编辑模式:
  [global]
  proxy=http://10.20.217.2:8080
 # 按ESC键,再输入wq保存即可。

(2). Windows系统下打开pip.ini配置文件添加内容如下:

    [global]

    proxy=http://xxx.xxx.xxx.xxx:8080

 # 在pip目录创建并编辑pip.ini(配置文件不存在时)
 cd C:\Users\(你的用户名)  
 mkdir pip        # 创建pip文件夹
 cd pip           # 进入pip路径目录下
 cd.>pip.ini       # 创建pip.ini文件
 # 然后打开C:\Users(用户名)\pip\pip.ini,添加如下内容:
 [global]
 proxy=http://10.20.217.2:8080

【补充】:Linux系统下也可以在/etc/profile配置文件里面永久设置

vim /etc/profile:
  export http_proxy='http://代理服务器IP:端口号'
  export https_proxy='http://代理服务器IP:端口号'
source /etc/profile

pip添加镜像源

1). 单次设置:(Windows和Linux系统一样)

直接在pip时添加镜像即可:pip install some-package -i 镜像地址

 pip install pandas -i https://mirrors.aliyun.com/pypi/simple/

2). 永久设置

(1). Linux系统下打开pip.conf配置文件添加内容如下:

      [global]

      index-url =  镜像地址

 # 在.pip目录创建并编辑pip.conf(没有配置文件时)
 mkdir ~/.pip   # 创建pip文件夹
 cd ~/.pip     # 创建pip.conf文件 
 vi pip.conf    # 打开pip.conf文件 
 # 按i进入编辑模式:
 [global]
 index-url = https://pypi.mirrors.ustc.edu.cn/simple/
 # 按ESC键,再输入wq保存即可。

(2). windows系统下打开pip.ini配置文件添加内容如下:

      [global]

      index-url =  镜像地址

 cd C:\Users\(你的用户名)  
 mkdir pip        # 创建pip文件夹
 cd pip           # 进入pip路径目录下
 cd.>pip.ini       # 创建pip.ini文件
 # 然后打开C:\Users(用户名)\pip\pip.ini,添加如下内容:
 [global]
 index-url = https://pypi.mirrors.ustc.edu.cn/simple/

pip一次性添加镜像和设置代理示例

 pip install -i https://pypi.douban.com/simple pandas --proxy=http://10.20.217.2:8080

pip永久添加镜像和设置代理示例

# 打开相应的配置文件添加如下内容,(pip安装需要使用的https加密时,在此需要添加trusted-host)
 [global]
 index-url = http://mirrors.aliyun.com/pypi/simple/ # 这里使用的是阿里云的镜像源
 proxy=http://xxx.xxx.xxx.xxx:8080          # 替换出自己的代理地址
 [install]
 trusted-host=mirrors.aliyun.com           # 信任阿里云的镜像源,否则会有警告

conda设置代理和添加镜像

只需要在.condarc这个配置文件里设置(Windows和Linux都是这个文件),一般情况下.condarc文件在windows系统的C:\Users\<username>\目录下,找到此文件打开修改;在Linu系统下,终端输入 vim ~/.condarc 即可打开此文件。

如果文件不存在,就创建一个,创建.condarc文件命令:

 conda config --add channels r

.condarc文件配置内容如下(详解):

 # Add mirror source to speed up download
 channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  # (根据需求添加合适的镜像源)
  - defaults
 # Show channel URLs when displaying what is going to be downloaded and in ‘conda list‘
 show_channel_urls: true
 allow_other_channels: True 
 # Set the agent
 proxy_servers:
  http: http://xxx.xxx.xxx.xxx:8080
  https: https://xxx.xxx.xxx.xxx:8080
 # 设置verify=False移除SSL认证时,解决InsecureRequestWarning警告
 ssl_verify: false

conda查看源和代理修改是否成功的指令:

 conda info            # 查看源设置的是否有效(channel urlsd的变化) 
conda config --show       # 指令查看相关信息 
 conda config --show-sources   # 查看配置文件的位置

总结

以上所述是小编给大家介绍的python设置代理和添加镜像源介绍,希望对大家有所帮助,也非常感谢大家对网站的支持!