多版本 Python 在使用中的灵活切换

今天我们来说说在 windows 系统上如果有多版本的 python 并存时,如何优雅的进行灵活切换。

虽然 Python3 已经出来很久了,虽然 Python2 即将成为历史了,但是因为历史原因,依然有很多公司的老项目继续在使用着 Python2 版本(切换成本太高),所以大多数开发者机器上 Python2 和 Python3 都是并存的,本文主要说明这种情况下如何便捷的在 Python2 和 Python3 之间进行切换。

先说明下,本次我们不介绍 virtualenv,也不介绍 pipenv,因为这两个都是为了大型的 Python 工程做准备的,之后会单独文字进行说明。

本次是不借助外部工具,来实现快捷切换。其实也可以说是利用系统环境变量的逻辑来实现目的。

本次环境以 Windows 为例:

系统: Windows 7 x64
Python 版本:Python 3.4 和 Python 2.7

安装

首先安装好 Python3.4 和 Python2.7,安装包可以在这个地方进行下载:点击跳转

设置环境变量

然后分别把对应版本的安装路径加入到系统环境变量中去:

新起一个 cmd 窗口验证下添加后的效果:

C:\Users>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Python34;C:\Python27;

这时候我们直接在 cmd 输入 python,已经可以被识别了,但是识别的总是路径在环境变量中排前面的那个版本的 Python,比如目前从上图看 Python3.4 是排前面的,实际验证下看看:

C:\Users>python
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

重命名主程序

然后我们分别把两个版本的 Python 主程序 exe 改下名,3.4 版本的改名为 python34.exe,2.7 版本的改名为 python27.exe:

再分别运行 python34 和 python27 试试:

C:\Users>python34
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users>python27
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

从上图可以看出,我们已经可以实现分别运行指定版本的效果了,如果执行脚本的话直接 python34 test.py 或者 python27 test.py 就行了。

但是每次执行脚本都加前缀是不是很累,如果有一个版本是我们常用的话,也可以通过修改文件后缀关联程序来实现默认关联,再需要特殊版本的时候再加上前缀就行,不过保险起见,还是一直带着吧。

补充说明

补充说明下,其实网上也有网友提供了其他两种方法:

使用 Python 自带的 py -2py -3 命令;
另一种和我上面说的类似,但是只重命名了其中一个版本的执行文件名;

如果机器只安装了两个版本的 Python,这几个方法确实是都可以解决的,但是因为我需要部分脚本支持 Windows XP (Python3.5 以后就不支持 XP 了),所以安装了 Python2.7、Python3.4 和 Python3.6 共三个版本的 Python,这样的话就只能把全部主程序文件都重命名了,而且这样解决的问题更彻底,一劳永逸。

再补充说明下,如果要针对不同版本的 Python 调用 pip,命令后如下(请把 requests 换成自己需要的包名):

python27 -m pip install requests
python34 -m pip install requests
python36 -m pip install requests

这样安装的依赖库就是在各个版本之间相互独立的。

好了,赶紧动手试试吧。当然,如果您有更好的建议,欢迎留言讨论。

本文作者: sylan215
本文地址: http://www.sylan215.com/
版权声明: 本文首发于公众号「sylan215」,可以随意转载,但必须在明确位置注明出处!

原文地址:http://blog.51cto.com/sylan215/2147584

时间: 2024-11-09 04:45:57

多版本 Python 在使用中的灵活切换的相关文章

Anaconda多环境多版本python配置指导

Anaconda多环境多版本python配置指导 来自:http://www.jianshu.com/p/d2e15200ee9b 原文地址:http://conda.pydata.org/docs/test-drive.html conda测试指南 在开始这个conda测试之前,你应该已经下载并安装好了Anaconda或者Miniconda注意:在安装之后,你应该关闭并重新打开windows命令行. 一.Conda测试过程: 使用conda.首先我们将要确认你已经安装好了conda 配置环境.

python 使用 pyenv 多环境切换

利用pyenv 实现python  多版本切换 下载  curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 安装支持包  yum install  zlib-devel openssl-devel sqlite-devel patch 增加配置:.bash_profile export PATH="/root/.pyenv/bin:$PATH"

【python】win7上多个版本python安装

1.多个python版本 安装自不必多说,win7下安装对应的msi或者exe安装程序即可 2.环境变量配置 2.1 新建Python的主目录,如图3.4版本 2.2 Path中添加 %Python_HOME%;%Python_HOME%\Scripts; 3.切换python版本 只需要修改Python_home路径即可,设置到那个版本路径,则当前使用的是那个版本的python. 需要注意的是,如果有使用第三方库,第三方库各个版本独立. 例如3.4版本和2.7版本python都需要使用到req

多版本python管理pyenv

pyenv安装: https://github.com/yyuu/pyenv#choosing-the-python-version pyenv命令: https://github.com/yyuu/pyenv/blob/master/COMMANDS.md pyenv virtualenv插件安装: https://github.com/yyuu/pyenv-virtualenv pyenv commands Lists all available pyenv commands. 不同pyth

用pyenv和virtualenv搭建单机多版本python虚拟开发环境

作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试一些需要安装在默认python路径里的程序, 反复地修改和安装会使系统目录越来越乱,这对于一些有洁癖的程序员来说是不可接受的. 还有时候我们需要在不同的python版本上开发, 而系统一般只会自带一到两种python版本, 切换起来更是麻烦. 本文将介绍如何利用pyenv 和virtualenv 在

pyenv简介——Debian/Ubuntu中管理多版本Python

pyenv简介——Debian/Ubuntu中管理多版本Python MAY 21ST, 2016 12:00 AM | COMMENTS pyenv是管理Python版本的工具,它支持在多个Python版本间切换. 一.安装pyenv 1 git clone https://github.com/yyuu/pyenv.git ~/.pyenv 将PYENV_ROOT和pyenv init加入bash的~/.bashrc(或zsh的~/.zshrc) 1 2 3 echo 'export PAT

centos下多版本python及多开发环境的安装: pyenv&virtualenv

参考:  http://www.it165.net/pro/html/201405/13603.htmlhttp://www.it165.net/os/html/201405/8348.html 1. 安装 yum groupinstall "Development tools" yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm

pyenv安装与使用-多版本python共存解决方法

说明: 由于centos或者RHEL操作系统自带的python一般都比较低,centos6 自带的python版本都是2.6.6,但是现在一般python使用的版本都是2.7版本,以前总在操作上源码升级python,但是这样会导致的yum等利用python使用的命令错误,虽然修改yum源码可以解决问题,但是总感觉很麻烦,而且一个个命令文件的修改也感觉很LOW啊! 发现pyenv这个软件很不错,可以在一个系统中共存两套python版本,而且不影响系统自带老版本python的使用: 安装pyenv首

Mac下多版本python环境搭建

Anaconda 最近发现Anaconda很好用.这里有篇关于如何使用的文章 pyenv pyenv是多版本的python管理器,可以让多个版本的python环境共存.如pypy,python2,python3等等 安装 1 $ brew install pyenv 或者 1 2 3 4 5 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' &