如何在Windows 7中运行python 2和3?

Swi*_*Run 43 python python-2.7 python-3.x

有没有办法在python 2的安装上安装python 3而不会破坏任何东西?主要问题是我的代码是由"python xxxxx.py abc123"运行的.有没有办法将python 3改为"python3 xxxx.py abc123"?相同的命令python是冲突

pep*_*epr 93

在Windows上有一种更好的共存/启动Python 2和Python 3的方法.Python 3.3引入了WindowsPython启动器(参见http://www.python.org/dev/peps/pep-0397/).

安装的Python 3.3,之后在py.exepyw.exe被复制到c:\Windows目录中,协会正在为设定.py扩展,以便它使用的发射器.默认情况下,将启动Python 2 py script.py.在py -3 script.py启动Python 3的(这也意味着,对于Python中没有路径必须被加入到环境- C:\Windows已经在PATH.)

最好的是#!python2在脚本中通过Python 2 #!python3导致启动,这是通过Python 3启动脚本的原因.这样,您可以为两个版本的Python使用脚本,并且您可以使用统一的方式 - py script.py或者只是单击脚本图标.

有更多细节,但这基本上是你需要的.

更新:当使用适用于Windows的Python启动程序时,您还可以cmd通过键入> script.py(即没有显式输入py- Python启动程序的名称 - 在脚本名称前面)或甚至通过键入名称来从窗口启动Python脚本在.py扩展(这只是> script).

这样,事情开始类似于Unix命名脚本的方式(不需要扩展); 但是,.py在创建脚本文件时仍需要添加扩展名.

(是的,它比Unix方法更麻烦.这是操作系统开发的"先想想!""卖出第一!"方法之间的区别.无论如何,我对Python开发团队的称赞最好的Windows - 通过发布Windows的Python启动器.)

  • 我没有看到任何py.exe或pyw.exe.但是当我启动Python时,我得到:`致命的Python错误:Py_Initialize:无法加载文件系统编解码器文件"C:\ Python27\lib\encodings\__ init__.py",第123行引发CodecRegistryError,\ ^语法错误:语法无效.这意味着python3正在尝试启动python2的东西. (8认同)
  • +1优秀的描述,谢谢.这个问题应该是谷歌搜索中首先出现的问题,遗憾的是它不是. (5认同)
  • 从Windows 8.1的新副本开始,我安装了Python 2.7.9,然后安装了Python 3.4.3(两者都带有默认选项).Python 3确实将py.exe和pyw.exe添加到C:\ Windows,并且所有内容都按照@pepr的描述进行操作.谢谢! (3认同)

Sha*_*aun 6

不确定它是否符合您的需求,但您应该看看virtualenv:http://www.virtualenv.org/en/latest/

这将允许您为Python 2和3创建单独的环境(使用-p标志).如果您的用例是无法解决的问题,请使用更具体的内容更新问题,我相信您会得到其他建议.