Python2及Python3如何实现兼容切换


Posted in Python onSeptember 01, 2020

由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼容,如何让脚本在对应的Python版本上运行,这个是值得总结的。

对于Ubuntu 16.04 LTS版本来说,Python2(2.7.12)和Python3(3.5.2)默认同时安装,默认的python版本是2.7.12。

Python2及Python3如何实现兼容切换

当然你也可以用python2来调用。

Python2及Python3如何实现兼容切换

如果想调用python3,就用python3.

Python2及Python3如何实现兼容切换

对于Windows,就有点复杂了。因为不论python2还是python3,python可执行文件都叫python.exe,在cmd下输入python得到的版本号取决于环境变量里哪个版本的python路径更靠前,毕竟windows是按照顺序查找的。比如环境变量里的顺序是这样的:

Python2及Python3如何实现兼容切换

那么cmd下的python版本就是2.7.12。

Python2及Python3如何实现兼容切换

反之,则是python3的版本号。

这就带来一个问题了,如果你想用python2运行一个脚本,一会你又想用python3运行另一个脚本,你怎么做?来回改环境变量显然很麻烦。

网上很多办法比较简单粗暴,把两个python.exe改名啊,一个改成python2.exe,一个改成python3.exe。这样做固然可以,但修改可执行文件的方式,毕竟不是很好的方法。

我仔细查找了一些python技术文档,发现另外一个我觉得比较好的解决办法。

借用py的一个参数来调用不同版本的Python。py -2调用python2,py -3调用的是python3.

Python2及Python3如何实现兼容切换

Python2及Python3如何实现兼容切换

当python脚本需要python2运行时,只需在脚本前加上,然后运行py xxx.py即可。

#! python2

当python脚本需要python3运行时,只需在脚本前加上,,然后运行py xxx.py即可。

#! python3

就这么简单。

同时,这也完美解决了在pip在python2和python3共存的环境下报错,提示Fatal error in launcher: Unable to create process using '"'的问题。

当需要python2的pip时,只需

py -2 -m pip install xxx

当需要python3的pip时,只需

py -3 -m pip install xxx

python2和python3的pip package就这样可以完美分开了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的web框架中配置app的教程
Apr 30 Python
Python中计算三角函数之cos()方法的使用简介
May 15 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python基础练习之几个简单的游戏
Nov 10 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
python实现飞船游戏的纵向移动
Apr 24 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python super()函数的基本使用
Sep 10 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 #Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 #Python
Python如何截图保存的三种方法(小结)
Sep 01 #Python
Python连接mysql方法及常用参数
Sep 01 #Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 #Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 #Python
Django如何批量创建Model
Sep 01 #Python
You might like
用PHP读注册表
2006/10/09 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
Underscore源码分析
2015/12/30 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
出生公证书样本
2014/04/04 职场文书
仓库文员岗位职责
2014/04/06 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
考研导师推荐信范文
2015/03/27 职场文书
办公室管理规章制度
2015/08/04 职场文书