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获取本地计算机名字的方法
Apr 29 Python
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 Python
使用python生成目录树
Mar 29 Python
对python3中, print横向输出的方法详解
Jan 28 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
解决python中0x80072ee2错误的方法
Jul 19 Python
详解Python中*args和**kwargs的使用
Apr 07 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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Django 反向生成url实例详解
2019/07/30 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
计算机通信专业推荐信
2014/02/22 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
旷课检讨书范文
2014/10/30 职场文书
工伤私了协议书范本
2014/11/24 职场文书
2014年技术部工作总结
2014/12/12 职场文书
赞美教师的句子
2019/09/02 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS