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 代码性能优化技巧分享
Aug 07 Python
Python Trie树实现字典排序
Mar 28 Python
Python中使用Beautiful Soup库的超详细教程
Apr 30 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
python线程池threadpool使用篇
Apr 27 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
python 实现的车牌识别项目
Jan 25 Python
python 使用openpyxl读取excel数据
Feb 18 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
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
img标签中onerror用法
2009/08/13 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python实现在线翻译功能
2020/03/03 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
求职简历中个人的自我评价
2013/12/25 职场文书
物流司机岗位职责
2013/12/28 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
经典婚礼主持词
2014/03/13 职场文书
体操比赛口号
2014/06/10 职场文书
运动会演讲稿50字
2014/08/25 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
开业庆典致辞
2015/08/01 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
SQL Server中搜索特定的对象
2022/05/25 SQL Server
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis