在同一台电脑下如何进行python2与3的切换?

老师用的是 python 2,但是我觉得自己现在学的话学个新点儿的比较好,2 和 3 据说差别还挺大,所以两个版本都装了,自己学的时候用 3,跑老师的程序时用 2。我的电脑是 win 7,现在系统默认调用的是 2,如果在执行前加上“c:\python33\python.exe”就可以调用 3,但是这样太麻烦了,我在环境变量的 path 中加入“c:\python33”也没有效果,不知道还应该怎么设置可以方便的进行切换?回复内容:
好吧,我来给题主介绍个神器,virtualenv,能创建若干相互隔离的python workspace,不仅能指定python版本,连packages都能不同。撸过几个开源的python项目别人都推荐用这个。how to use python virtualenvuse different python version with virtualenv
windows 上的 python 自带启动器 py.exe,默认安装到系统盘的 system32 文件夹里。如果你同时安装了 python 2 和 python 3,用的时候直接在终端里输入:

py -3

1.virtualenv这基本是python开发的标配,然后你就可以控制在一个目录下用一套python环境2.pyscripter也是有切换python版本的功能
你可以把python3里的python.exe文件改名为python3.exe这样的话2和3的执行命令能够分开了,也就能够实现你切换的需要了
为什么我在 windows 上安装的时候都是环境变量都是自动写入的?
有一个很通用的解决方法,原理详见3. using python on windows。python3.3或更高版本在安装时会同时把py.exe 和 pyw.exe 运行器复制到系统目录%systemroot% 下。如果你平时通过命令行运行python那么只要执行时,输入

py filename.py
或者
py -3 filename.py

python 3.3 提供了一个新的launcher来解决windows上面的版本切换问题. 官方描述:the python launcher for windows is a utility which aids in the location and execution of different python versions. it allows scripts (or the command-line) to indicate a preference for a specific python version, and will locate and execute that version. reference: 3. using python on windows简单的说, 在安装了python 3.3的基础上, 保证py在环境变量中. 从命令行调用python:

py -2.7
py -3

裝兩個比如路徑d:\python27d:\python35然後去手動把 python27下面的python.exe改成python2.exepython35下面的python.exe改成python3.exe然後你的腳本第一行就加上類似#! d:\python27\python2.exe這樣的一行就是調用python2要調用python3同理
我提供一个办法 首先装一个软件 enthough canopy, 这是有一个带有各种科学计算python库的发行版本,诸如panda,numpy 还有各种画图库都内置了很方便。canopy中还集成了pyhton包的在线升级和管理系统,很是方便。由于是商业级别的,canopy的性能和稳定性很好。也提供免费的free版本和学术版本(用于教育科研也是免费的)。以前叫epd,现在改名叫canopy。canopy是第一个将ipython升级到2.3.0的发行版;matplotlib已升级到1.4.2;numpy 1.8.1;scipy 1.2.0. 但是它主要是追求性能和稳定性,所以不能指望所有的安装包都是最新的。如果你有学校邮箱的话,可以免费用商业版一年,如果没有也无妨,免费的库也很好用,而且题目本身问的是如何2.7和3.5同时安装,所以免费版就够了。canopy 是基于2.7的, 有32位和64位可选。装好之后,会有一个dos命令行的运行图标,这时,再自行去装python3.5版本即可,从一般命令行dos或者powershell进入就是3.5了。两者互不影响,库资源也都是独立的。这应该是比较好的解决方案了。
如果老师要求的python2是指python2.7的话,你完全可以写出python2和python3几乎完全兼容的代码。技巧是写『向前兼容』的代码。 writing forwards compatible python code实际应用过程中不是你写一份代码自己跑两遍,而是用unit test在多个python interpreter里自动跑。我看了一下pycharm是支持配置多份test,每个test对应一个interpreter的。不清楚的看一下 how to get started with pycharm and have a productive python ide 这里的unittest章节。

Posted in 未分类

发表评论