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版本

py2
python -V
pip install seaborn
py2 & python -Vpy2 & pip install seabornpy2 & jupyter

临时切换Python就只需要在原有命令前加上 py2 & 或者单独在之前执行命令 py2。如果选择在命令前加上py &,也只有第1条命令需要加上,后面的命令都会自动使用切换后的Python版本了。

最后,直接win+R在运行里输入 py2 & python,以上方法仍然是生效的。

在研究了很多方法之后,发现我的方法还是最简单的。有什么问题欢迎留言。

时间: 2024-10-06 02:23:21

Python/Anaconda多版本共存的解决方案的相关文章

Windows 下让 Python 多个版本共存(支持 pip)

转载自 http://blog.kgzx.net/index.php/archives/40/ 因为类库兼容性的关系,写实际项目时都是用 Python 2,但自己试验性的写点小东西还是喜欢用 Python 3在这记录一下在 windows 下让这两个版本共存的配置步骤 在官网下载两个版本的 exe 文件并安装.因为我主要用 v2,所以把它放在 后面 安装.这样在调用 python 命令时,默认执行的就行 v2 版本的 进入 v3 的安装文件夹,把 python.exe 和 pythonw.exe

Ancoda 下的python多版本共存

Ancoda 下的python多版本共存 virtualenv python 多版本共存 Pip, Virtualenv 和Fabric 被称为python 的三大神器,Pip 是包管理工具,Virtualenv 是创建独立的python环境包的工具,Fabric 是和服务器管理和应用发布相关的工具(个人没有用过...),让我惊奇的是,这三个没有一个是和敲代码有关系的.有些东西在开发中真的是刚需,想绕都绕不开,今天我们来聊聊python的多版本共存的问题. 笔者在电脑上安装了Virtualenv

Linux系统之路——python多版本共存问题

经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存. pyenv就是这样一个Python版本管理器. 安装pyenv $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$

Python多版本共存之pyenv

需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存.pyenv就是这样一个Python版本管理器. 安装pyenv curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 设置环境变量 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash

Anaconda多版本Python管理

Anaconda是一个集成python及包管理的软件,记得最早使用时在2014年,那时候网上还没有什么资料,需要同时使用py2和py3的时候,当时的做法是同时安装Anaconda2和Anaconda3,修改里面的文件,例如将conda命令的exe文件,重命名为conda3,这个做法能用但是有很多问题:这几天需要使用以下spyder(anaconda 中集成的IDE)发现控制台一直显示connecting to kernel,我用的win10系统,可能是我将环境改动,导致无法正常运行.又重装了系统

解决python多版本共存问题

1.cmd下,python时,默认是python3版本, 2.打开D:\Anaconda2 3.找到exe文件,python.exe和pythonw.exe,将其修改为python2.exe和pythonw2.exe 4.再次cmd时, 1)输入python2,表示python2版本 2)输入python时,就是默认的python3版本,如此便解决了多版本共存的问题

Python多版本共存管理工具之pyenv

1. 安装pyenv $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >

Linux配置Python多版本共存

我们知道在Windows下多版本共存的配置方法就是改可执行文件的名字,配置环境变量. Linux中的配置原理差不多,思路就是生成软链接,配置到环境变量. 在没配置之前,我的Ubuntu中安装了python2.7和python3.6.而且输入python默认使用的是python2.7 我需要配置成python3,只需要执行如下步骤. 1.找到当前代表python2.7的软链接‘python’的位置,删掉. 2.找到python3.6的执行文件,将其生成软链接到环境变量. 如下图: 注意:需要roo

python介绍 编程语言分类及对比 python解释器安装(多版本共存) 变量 数据类型(三种)

python介绍编程语言分类及对比python解释器安装(多版本共存)变量数据类型(三种) 一:python介绍 1.python是什么? python是一门编程语言,编程语言就是一门语言 语言就是一个事物与另外一个事物沟通的工具 而编程语言则是人与计算机沟通的介质 2.为什么要跟计算机沟通:为了奴役计算机 奴隶主-------(人类的语言)-------->奴隶 奴隶主-------(编程语言)-------->计算机 3.什么是编程 奴隶主把想让计算机替自己做事情的逻辑用编程语言给表达出来