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 zip文件 压缩
Dec 24 Python
linux 下实现python多版本安装实践
Nov 18 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
Python+OpenCv制作证件图片生成器的操作方法
Aug 21 Python
python中的Elasticsearch操作汇总
Oct 30 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python使用sqlite3模块内置数据库
May 07 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
OpenCV-Python实现油画效果的实例
Jun 08 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 date与gmdate的获取日期的区别
2010/02/08 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
js 省地市级联选择
2010/02/07 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
在python plt图表中文字大小调节的方法
2019/07/08 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
高中的自我鉴定
2013/12/16 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
网络妈妈观后感
2015/06/08 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书