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


Posted in Python onFebruary 14, 2020

为什么要修改镜像源?

一般使用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设置代理和添加镜像源介绍,希望对大家有所帮助,也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
说一说Python logging
Apr 15 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
详解python读取image
Apr 03 Python
Python生成一个迭代器的实操方法
Jun 18 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python pandas.DataFrame.loc函数使用详解
Mar 26 Python
python进行参数传递的方法
May 12 Python
Python基础之元组与文件知识总结
May 19 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 #Python
Python读取分割压缩TXT文本文件实例
Feb 14 #Python
Pytorch .pth权重文件的使用解析
Feb 14 #Python
Python netmiko模块的使用
Feb 14 #Python
pytorch模型存储的2种实现方法
Feb 14 #Python
Python3运算符常见用法分析
Feb 14 #Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 #Python
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
工商管理本科毕业生求职信范文
2013/10/05 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
农村党支部先进事迹
2014/01/14 职场文书
工作会议欢迎词
2014/01/16 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang