Python/Anaconda多版本共存的解决方案
博客中的文章均为 meelo 原创,请务必以链接形式注明 本文地址
虽然Python2大势已去,众多项目都已经支持Python3,但总有一些教程和项目只支持Python2。通常情况是计算机里既装着Python2,也装了Python3。
多Python版本共存的解决方案已经有不少,简单罗列几种:
这些方法都有各自的不足,直接修改程序文件名仍然不能解决pip包管理器的问题,对jupyter之类的脚本也不起作用;virtualenv和conda切换的流程稍显复杂,需要开启和关闭虚拟环境。
这里提出一种新的解决方案,适用于Windows和Linux所有系统,适用于原生发行版的不同版本Python2和Python3,也适用于其它发行版Anaconda2和Anaconda3。教程中以windows系统为例。
系统选择哪一个Python是根据PATH系统路径决定的。

执行一个程序时,系统从系统路径中搜索相同文件名的可执行文件。存在Python版本意味着有多个可执行程序的名字都是python,这时系统选择哪一个版本根据路径在系统路径的顺序决定。
C:\Python27;C:\Python27\Scripts;C:\Users\meelo\Anaconda3;C:\Users\meelo\Anaconda3\Scripts
如果系统路径如上所示。Python27在前,则默认使用的版本是Python2.7。
我的解决方案正是利用了这一点。下面是干货时间。
步骤1:删除系统路径中其它Python版本的路径,只留下默认使用的版本
注意Python在系统路径中包含两个路径一个是根目录C:\Python27,一个是Scripts目录C:\Python27\Scripts
设置系统路径可以依次执行 Win+x > 系统 > 高级系统设置 > 环境变量 > 编辑PATH
步骤2:在C:\Windows目录下建立脚本
脚本名称:py2.bat,脚本名称就是每次切换版本时所需要执行的命令。
脚本内容
@echo off
set path=C:\Users\meelo\Anaconda2;C:\Users\meelo\Anaconda2\Scripts;%path%
脚本所其的作用就是临时将需要使用的Python版本路径加入到系统路径中。注意是临时改变系统路径,因此其它的命令行(shell)并不受影响。
脚本中颜色为绿色的部分就是临时需要使用Python版本的路径。@echo off意思是在执行脚本时,不打印输出命令的内容。
步骤3:临时切换Python版本
方法1:
py2
python -V
pip install seaborn
方法2:
py2 & python -V
py2 & pip install seaborn
py2 & jupyter
临时切换Python就只需要在原有命令前加上 py2 & 或者单独在之前执行命令 py2。如果选择在命令前加上py &,也只有第1条命令需要加上,后面的命令都会自动使用切换后的Python版本了。
最后,直接win+R在运行里输入 py2 & python,以上方法仍然是生效的。

在研究了很多方法之后,发现我的方法还是最简单的。有什么问题欢迎留言。
Python/Anaconda多版本共存的解决方案的更多相关文章
- Python linux多版本共存以及虚拟环境管理(转摘)
Python linux多版本共存以及虚拟环境管理 2017年08月01日 18:42:25 sliderSun 阅读数:197更多 个人分类: python 版权声明:本文为博主原创文章,未经博 ...
- Windows 下让 Python 多个版本共存(支持 pip)
转载自 http://blog.kgzx.net/index.php/archives/40/ 因为类库兼容性的关系,写实际项目时都是用 Python 2,但自己试验性的写点小东西还是喜欢用 Pyth ...
- python基础-python解释器多版本共存-变量-常量
一.编程语言的发展史 机器语言-->汇编语言-->高级语言,学习难度及执行效率由高到低,开发效率由低到高 机器语言:二进制编程,0101 汇编语言:用英文字符来代替0101编程 高级语言: ...
- Python 起步 多版本共存配置
上次我选择的是py2.x,如果我要再装一个py3.x呢 我们去设置环境变量,然后去命令行输入python,这里我故意把环境变量放在第一行,貌似换成3.7了 我们把2.7的放在3.7的前面呢?又换回去了 ...
- Python多版本共存之pyenv
经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...
- Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)
经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...
- Python多版本共存管理工具之pyenv
目录 Table of Contents 1. 安装pyenv 2. 安装Python 3.0 使用python 参考 Table of Contents 经常遇到这样的情况: 系统自带的Python ...
- Python 多版本共存之pyenv
经常遇到这样的情况: 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性: 系统自带的 Python 是 2.x,自己需要 Python 3.x: 此时需要在系统中安装 ...
- Ancoda 下的python多版本共存
Ancoda 下的python多版本共存 virtualenv python 多版本共存 Pip, Virtualenv 和Fabric 被称为python 的三大神器,Pip 是包管理工具,Virt ...
随机推荐
- Python之旅:装饰器
装饰器就是闭包函数的一种应用场景 一.为何要用装饰器 开放封闭原则:软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的 也就是说我们必须找到一种解决方案:能够在不修该 ...
- 特征点检测学习_2(surf算法)
依旧转载自作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 特征点检测学习_2(surf算法) 在上篇博客特征点检测学习_1(sift算法) 中 ...
- 洛谷P2398 GCD SUM
题目描述 for i=1 to n for j=1 to n sum+=gcd(i,j) 给出n求sum. gcd(x,y)表示x,y的最大公约数. 输入输出格式 输入格式: n 输出格式: sum ...
- 【转】解决virt-manager启动管理器出错:unsupported format character
来源:http://blog.csdn.net/z_yttt/article/details/71192144 经验证OK. 今天打开virt-manager出错,报错信息如下: 启动管理器出错: ...
- Kruskal-Wallis test
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...
- jquery ajax thinkphp异步局部刷新完整流程
环境:ThinkPHP3.2.3,jQuery3.2 前言: 在一般的网站中,都需要用到jquery或者其他框架(比如angular)来处理前后端数据交互,thinkphp在后台也内置了一些函数用 ...
- 数据分析与展示---anaconda的使用
一:安装 官方源:https://repo.continuum.io/archive/(太慢) 清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/ar ...
- codeforces 872E. Points, Lines and Ready-made Titles
http://codeforces.com/contest/872/problem/E E. Points, Lines and Ready-made Titles time limit per te ...
- POJ 1228 Grandpa's Estate 凸包 唯一性
LINK 题意:给出一个点集,问能否够构成一个稳定凸包,即加入新点后仍然不变. 思路:对凸包的唯一性判断,对任意边判断是否存在三点及三点以上共线,如果有边不满足条件则NO,注意使用水平序,这样一来共线 ...
- CF766 ABCDE
LINK A 找最长非公共子序列..如果两串不是完全相同 显然就是最长的那个 /** @Date : 2017-04-15 19:52:34 * @FileName: 766A.cpp * @Plat ...