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代码混合编程的方法
May 19 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
python opencv调用笔记本摄像头
Aug 28 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
Python接口测试环境搭建过程详解
Jun 29 Python
Python如何解除一个装饰器
Aug 07 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
使用Pytorch训练two-head网络的操作
May 28 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 jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python gdal安装与简单使用
2019/08/01 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
简历中自我评价分享
2013/10/09 职场文书
大学毕业生的自我鉴定
2013/11/30 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
学校法制宣传日活动总结
2014/11/01 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
个人自荐书怎么写
2015/03/26 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android
Django框架中视图的用法
2022/06/10 Python