Windows 7同时安装python2.7和python3.x的注意事项及问题解决技巧
Python([ˈpaɪθən])是一种面向对象、解释型计算机程序设计语言。Python语法简洁、清晰,具有丰富和强大的类库。
Python源代码遵循GPL(GNU General Public License)协议,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
Python常被称为胶水语言,能把用其他语言编写的各模块(尤其是C/C++)轻松地联结在一起。常见情形是,用Python快速生成程序原型(有时甚至是程序最终界面),然后对其中有特别要求的部分,用更合适的语言改写;譬如:3D游戏中的图形渲染模块,性能要求特别高,就可用C/C++重写,而后封装为Python可调用的扩展类库。需要注意的是,在您使用扩展类库时可能需要考虑平台问题,某些扩展类库可能不提供跨平台实现。
从20世纪90年代初诞生至今,Python逐渐被广泛应用于处理系统管理任务和Web编程。
设计者开发Python时总的指导思想是:对于一个特定问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one--and preferably only one--obvious way to do it.
这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。
Python作者有意设计,限制性很强的语法,使不好的编程习惯(譬如:if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。
和其他大多数语言(譬如:C)的一个区别是,一个模块的界限,完全是由每行的首字符在这一行的位置决定的;而C语言是用一对花括号{}明确定出模块边界,与字符的位置毫无关系。
快速高效 智能编辑 重构 批处理 "数字化 Python IDE" 集成开发环境 http://dt.digitser.cn/zh-CN/ide/idepy/index.html
前提
python 3.x 相比 python 2.7 语法及功能上有不少改变,前几年还可以这样说:使用 python 2.7,暂时不考虑使用 python 3.x。但随着时间的推移,python 3.x 及相关开发框架正慢慢统一认识,新技术仅支持 python 3.x,这样一来,学习并用好 python 3.x 就不得不被提上日程。
当然,要完全过渡到 python 3.x 是要有时间及技术过渡准备的;在这期间,会出现一部分模块或相关开发框架已完全兼容 python 3.x,而另一部则还停留在 python 2.7 阶段。因此,为向下兼容,有必要在同一 windows 系统中既安装 python 2.7,又安装 python 3.x。
冲突
由于软件技术方面的一些问题,于同一系统同时安装 python 3.x 和 python 2.7 的这种情况,在使用上一定会有冲突。譬如:系统环境变量 path、鼠标右键关联菜单打开方式、命令行方式下 python 命令默认值。
01、系统环境变量 path
在仅安装 python 2.7 时,系统环境变量 path 值为:
- D:\Python27\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;E:\BACKUP\Play\QuickTime\QTSystem\;C:\Program Files (x86)\Common Files\Adobe\AGL
复制代码
当再安装 python 3.x 后,系统环境变量 path 值为:
- D:\Python34\;D:\Python34\Scripts;D:\Python27\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;E:\BACKUP\Play\QuickTime\QTSystem\;C:\Program Files (x86)\Common Files\Adobe\AGL
复制代码
D:\Python34\;D:\Python34\Scripts; 是安装 python 3.x 后新增的。
为什么 python 3.x 和 python 2.7 安装时,都向系统环境变量 path 添加路径参数,为的是在命令方式下,仅需键入 python 即可调用 python 3.x 或 python 2.7 的 .exe 执行文件。
python cmd 执行
但一个 python 命令是不可能同时调用两者的,因此,仅安装 python 2.7 时,当然是调用 python 2.7 的 .exe 执行文件;当再安装 python 3.x 后,python 命令这时还调用 python 2.7 的 .exe 执行文件。
python python3 命令
若想 python 命令分开运行 python 3.x 和 python 2.7 的 .exe 执行文件,可进入 python 3.x 和 python 2.7 的相应安装目录,执行 python 或 python.exe 命令。
python.exe 2.7 命令运行方式
python.exe 3.x 命令运行方式
python2.7 命令运行方式
python3.x 命令运行方式
Ubuntu 14.04 对此情况就解决得很好,python 命令调用 python 2.7 的 .exe 执行文件;python3 命令调用 python 3.x 的 .exe 执行文件。
- root@test:/home/test# python
- Python 2.7.6 (default, Jun 22 2015, 17:58:13)
- [GCC 4.8.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> exit()
- root@test:/home/test# python3
- Python 3.4.3 (default, Jul 28 2015, 18:20:59)
- [GCC 4.8.4] on linux
- Type "help", "copyright", "credits" or "license" for more information.
- >>> exit()
- root@test:/home/test#
复制代码
因此,有人提出将 python 3.x 的 .exe 执行文件改为 python3.exe,但并不能完全解决问题。一超出 python 3.x 目录,键入 python3 命令会提示:‘python3’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
python3.exe 命令可行
python3.exe 命令不可行
详细解决办法:
03、重启CMD命令窗口
- C:\Windows\System32;C:\Windows;D:\Python34\;D:\Python34\Scripts;D:\Python27\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;E:\BACKUP\Play\QuickTime\QTSystem\;C:\Program Files (x86)\Common Files\Adobe\AGL
复制代码
经以上 3 步,python 命令会调用 python 2.7 的 .exe 执行文件;python3 命令会调用 python 3.x 的 .exe 执行文件。
python python3 解译器
02、鼠标右键关联菜单
不管是仅安装 python 2.7,还是再安装 python 3.x,当以鼠标右键菜单打开 python 文件时,情况始终如下:
python 鼠标右键关联菜单
仅有一个 Edit with IDLE 菜单项。
详细解决办法:
01、执行命令 regedit,在注册表中查找 Edit with IDLE 项
Edit with IDLE 3.4
05、经以上 4 步之后, 再以鼠标右键菜单打开 python 文件时,会看到 Edit with IDLE 2.7 和 Edit with IDLE 3.4 两菜单项
Edit with IDLE 2.7 和 Edit with IDLE 3.4
扫一扫关注 德云社区 微信公众号
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载。
|