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实现汉诺塔方法汇总
Jul 25 Python
Python在图片中添加文字的两种方法
Apr 29 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
python数字图像处理实现直方图与均衡化
May 04 Python
python实现图片筛选程序
Oct 24 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
python datetime中strptime用法详解
Aug 29 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
python TCP包注入方式
May 05 Python
python 使用openpyxl读取excel数据
Feb 18 Python
Pytorch可视化的几种实现方法
Jun 10 Python
python数字图像处理数据类型及颜色空间转换
Jun 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中,文件上传
2006/12/06 PHP
php 页面执行时间计算代码
2008/12/04 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
2016/12/23 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
python中线程和进程有何区别
2020/06/17 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
python调用win32接口进行截图的示例
2020/11/11 Python
python os.rename实例用法详解
2020/12/06 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
护理专业自我鉴定
2014/01/30 职场文书
如何写好建议书
2014/03/13 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
个人先进材料范文
2014/12/30 职场文书