利用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实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
Python实现Dijkstra算法
Oct 17 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
浅谈Pandas Series 和 Numpy array中的相同点
Jun 28 Python
django框架两个使用模板实例
Dec 11 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
python 实现朴素贝叶斯算法的示例
Sep 30 Python
Python中request的基本使用解决乱码问题
Apr 12 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
wordpress之wp-settings.php
2007/08/17 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
Python自动发送邮件的方法实例总结
2018/12/08 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
村捐赠仪式答谢词
2014/01/21 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
幼儿园优秀班主任事迹材料
2014/05/14 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
教师节主题班会教案
2015/08/17 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
python双向链表实例详解
2022/05/25 Python