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 def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python创建文件和追加文件内容实例
Oct 21 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python随机函数random()使用方法小结
Apr 29 Python
使用python脚本实现查询火车票工具
Jul 19 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
Python实现ATM系统
Feb 17 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
基于python检查矩阵计算结果
May 21 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
pytest配置文件pytest.ini的详细使用
Apr 17 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
Destoon实现多表查询示例
2014/08/21 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
JS 表单验证大全
2011/11/23 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
利用python开发app实战的方法
2019/07/09 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
四年级语文教学反思
2014/02/05 职场文书
人力资源总监工作说明
2014/03/03 职场文书
小学老师对学生的评语
2014/12/29 职场文书
教育实习指导教师评语
2014/12/31 职场文书
人事任命书范本
2015/09/21 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
python_tkinter弹出对话框创建
2022/03/20 Python
SQL Server中锁的用法
2022/05/20 SQL Server