6.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:端口号

1 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'

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

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

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

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

1 set http_proxy=http://109.123.111.111:8000
2 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        # 替换出自己的代理地址

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

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

    [global

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

1 # 在pip目录创建并编辑pip.ini(配置文件不存在时)
2 cd C:\Users\(你的用户名)   
3 mkdir pip                # 创建pip文件夹
4 cd pip                     # 进入pip路径目录下
5 cd.>pip.ini              # 创建pip.ini文件
6 
7 # 然后打开C:\Users(用户名)\pip\pip.ini,添加如下内容:
8 [global]
9 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 镜像地址

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

2). 永久设置

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

      [global]

      index-url =  镜像地址

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

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

      [global]

      index-url =  镜像地址

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

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

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

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

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

conda设置代理和添加镜像

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

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

1 conda config --add channels r

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

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

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

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


posted @ 2020-02-14 13:27  大-道-至-简  阅读(7272)  评论(0编辑  收藏  举报