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的turtle模块画图的方法
Nov 15 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
Python实现的微信好友数据分析功能示例
Jun 21 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
Python之字符串的遍历的4种方式
Dec 08 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
延长phpmyadmin登录时间的方法
2011/02/06 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
js仿微信抢红包功能
2020/09/25 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
python中有关时间日期格式转换问题
2019/12/25 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python实现简单坦克大战
2020/03/27 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
办公文员的工作岗位职责
2013/11/12 职场文书
执行总经理岗位职责
2014/02/03 职场文书
《颐和园》教学反思
2014/02/26 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
报名委托书
2015/01/29 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
windows安装python超详细图文教程
2021/05/21 Python