Windows下Python2与Python3两个版本共存的方法详解


Posted in Python onFebruary 12, 2017

前言

一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境。而网上又搜不到Python 3开发微信公众号的资料。暂打算先使用Python 2.7,有空学习Docker后再迁移到Python 3。

安装Python 2.7后,本来在3.4下能正常使用的脚本无法运行。网上有的方法是把两个版本的主程序分别改名为python2和python3,人眼判断脚本,手输命令行执行脚本。像我这样喜欢双击、拖拽的懒人当然不会满足,找到了更智能的解决方案。

Python 2 与 Python 3 共存

安装 Python 3.3 以上的版本时,Python会在C:\Windows文件夹下安装启动器py.exe。

双击脚本调用的就是这个程序:

Windows下Python2与Python3两个版本共存的方法详解

如果系统中同时存在 Python 2 和 Python 3,可用它指定版本来运行代码:

py -2 helloworld.py
py -3 helloworld.py

2和3即是版本。

每次都添加参数太麻烦,直接在Python脚本第一行指定版本:

#! python3

可以双击,也可以命令行运行:

py helloworld.py

如果没有在首行指定版本而用上述命令运行或双击,则默认调用Python 2

使用pip:

py -2 -m pip install requests
py -3 -m pip install requests

-m pip 表示运行 pip 模块

原有的python和pip命令仍然有效,默认执行哪一个版本呢?看环境变量中路径的先后次序。

C:\Python34\;C:\Python34\Scripts;C:\Python27\;C:\Python27\Scripts;

如上则调用Python 3

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
Python实现多线程下载文件的代码实例
Jun 01 Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
Python 字符串换行的多种方式
Sep 06 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
python dict 相同key 合并value的实例
Jan 21 Python
python在回调函数中获取返回值的方法
Feb 22 Python
python操作日志的封装方法(两种方法)
May 23 Python
django和vue实现数据交互的方法
Aug 21 Python
python打印异常信息的两种实现方式
Dec 24 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
使用Python绘制图表大全总结
Feb 11 #Python
Python 绘图和可视化详细介绍
Feb 11 #Python
Python实现多线程HTTP下载器示例
Feb 11 #Python
Python  pip安装lxml出错的问题解决办法
Feb 10 #Python
使用Python脚本和ADB命令实现卸载App
Feb 10 #Python
Python中str is not callable问题详解及解决办法
Feb 10 #Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 #Python
You might like
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
python实现定时播放mp3
2015/03/29 Python
Python解析nginx日志文件
2015/05/11 Python
在Django中使用Sitemap的方法讲解
2015/07/22 Python
python实现八大排序算法(1)
2017/09/14 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python多进程写入同一文件的方法
2019/01/14 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
保护动物倡议书
2014/04/15 职场文书
卖车协议书
2014/04/21 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
工商局个人工作总结
2015/03/03 职场文书
教师党员个人自我评价
2015/03/04 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
Python基础之进程详解
2021/05/21 Python
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript
spring boot实现文件上传
2022/08/14 Java/Android