利用Anaconda完美解决Python 2与python 3的共存问题


Posted in Python onMay 25, 2017

前言

现在Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试。

如何在系统中同时共存 Python2 和 Python3 是开发者不得不面对的问题,一个利好的消息是,Anaconda 能完美解决Python2 和 Python3 的共存问题,而且在 Windows 平台经常出现安装依赖包(比如 MySQL-python)失败的情况也得以解决。

Anaconda 是什么?

Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu。它解决了Python开发者的两大痛点。

  • 第一:提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。
  • 第二:提供虚拟环境管理,功能类似于 virtualenv,解决了多版本Python并存问题。

下载 Anaconda安装包

官网下载地址:https://www.continuum.io/downloads

本地下载地址:

Anaconda3 4.3.1 Python 3.6 for windows 64位: https://3water.com/softs/556361.html

Anaconda3 4.3.1 Python 3.6 for windows 32位: https://3water.com/softs/556363.html

Anaconda3 4.3.1 Python 3.6 for linux   32位: https://3water.com/softs/556380.html

Anaconda3 4.3.1 Python 3.6 for linux   64位: https://3water.com/softs/556392.html

我们选择 Python3.6 版本的安装包,下载完成后直接安装,安装过程选择默认配置即可,大约需要1.8G的磁盘空间。

conda 是 Anaconda 下用于包管理和环境管理的命令行工具,是 pip 和 vitualenv 的组合。安装成功后 conda 会默认加入到环境变量中,因此可直接在命令行窗口运行 conda 命令

如果你熟悉 virtualenv,那么上手 conda 非常容易,不熟悉 virtulenv 的也没关系,它提供的命令就几个,非常简单。我们可以利用 conda 的虚拟环境管理功能在 Python2 和 Python3 之间自由切换。

多版本切换

# 基于 python3.6 创建一个名为test_py3 的环境
conda create --name test_py3 python=3.6 

# 基于 python2.7 创建一个名为test_py2 的环境
conda create --name test_py2 python=2.7

# 激活 test 环境
activate test_py2 # windows
source activate test_py2 # linux/mac

# 切换到python3
activate test_py3

更多命令,可查看帮助 conda -h

包管理工具

conda 的包管理功能是对 pip 的一种补充,如果当前已经激活了某个Python环境,那么就可以在当前环境开始安装第三方包。

# 安装 matplotlib 
conda install matplotlib
# 查看已安装的包
conda list 
# 包更新
conda update matplotlib
# 删除包
conda remove matplotlib

对于那些用 pip 无法安装成功的模块你都可以尝试用 conda 来安装,如果用 conda 找不到相应的包,当然你继续选择 pip 来安装包也是没问题的。

提高下载速度

Anaconda 的镜像地址默认在国外,用 conda 安装包的时候会很慢,目前可用的国内镜像源地址是清华大学提供的。修改 ~/.condarc (Linux/Mac) 或 C:\Users\当前用户名.condarc (Windows) 配置

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - defaults
show_channel_urls: true

除此之外,你也可以把 pip 的镜像源地址也换成国内的,豆瓣源速度比较快。修改 ~/.pip/pip.conf (Linux/Mac) 或 C:\Users\当前用户名\pip\pip.ini (Windows) 配置:

[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python中尾递归用法实例详解
Apr 28 Python
详解supervisor使用教程
Nov 21 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python实现俄罗斯方块游戏
Mar 25 Python
python3.6实现学生信息管理系统
Feb 21 Python
学习python可以干什么
Feb 26 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
重构Python代码的六个实例
Nov 25 Python
Python实现的简单dns查询功能示例
May 24 #Python
Python向日志输出中添加上下文信息
May 24 #Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 #Python
Python简单生成8位随机密码的方法
May 24 #Python
python中利用xml.dom模块解析xml的方法教程
May 24 #Python
Python实现简单过滤文本段的方法
May 24 #Python
django框架如何集成celery进行开发
May 24 #Python
You might like
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
php限制ip地址范围的方法
2015/03/31 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
财务会计自荐信范文
2014/02/21 职场文书
关爱老人标语
2014/06/21 职场文书
思想品德评语大全
2014/12/31 职场文书
开天辟地观后感
2015/06/09 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript