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使用any判断一个对象是否为空的方法
Nov 19 Python
Python实现监控程序执行时间并将其写入日志的方法
Jun 30 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python单例模式获取IP代理的方法详解
Sep 13 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
Python类如何定义私有变量
Feb 03 Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 Python
python ssh 执行shell命令的示例
Sep 29 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 Python
基于 Python 实践感知器分类算法
Jan 07 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python在回调函数中获取返回值的方法
2019/02/22 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
Python 如何查找特定类型文件
2020/08/17 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
英国领先的独立酒精饮料零售商:DrinkSupermarket
2021/01/13 全球购物
驾驶员岗位职责
2014/01/29 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
Python List remove()实例用法详解
2021/08/02 Python
Javascript之datagrid查询详解
2021/09/15 Javascript