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中内置的NotImplemented类型的用法
Mar 31 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
python爬虫使用cookie登录详解
Dec 27 Python
python3 读写文件换行符的方法
Apr 09 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
keras topN显示,自编写代码案例
Jul 03 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
python 对xml解析的示例
Feb 27 Python
python实现的人脸识别打卡系统
May 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php银联网页支付实现方法
2015/03/04 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
Python模块学习 datetime介绍
2012/08/27 Python
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
企业总经理职责
2014/02/02 职场文书
公司聘任书模板
2014/03/29 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
旷课检讨书
2015/01/26 职场文书
鼋头渚导游词
2015/02/05 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
门面租赁合同范文
2019/08/06 职场文书
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏