有没有一种方法可以在不破坏任何内容的情况下,将Python 3安装在Python 2的安装上面?主要问题是我有一些通过“python xxxxx.py abc123”来运行的代码。是否有一种方法可以将Python 3更改为“python3 xxxx.py abc123”?相同的命令python
存在冲突。
有没有一种方法可以在不破坏任何内容的情况下,将Python 3安装在Python 2的安装上面?主要问题是我有一些通过“python xxxxx.py abc123”来运行的代码。是否有一种方法可以将Python 3更改为“python3 xxxx.py abc123”?相同的命令python
存在冲突。
在Windows上,有一种更好的方式来共存/启动Python 2和Python 3。Python 3.3引入了Python launcher for Windows(请参见http://www.python.org/dev/peps/pep-0397/)。
安装Python 3.3后,py.exe
和pyw.exe
会被复制到您的c:\Windows
目录中,并为.py
扩展名设置关联以使用启动器。默认情况下,用py script.py
启动Python 2。py -3 script.py
则启动Python 3。(这也意味着不需要将Python路径添加到环境变量中--C:\Windows
已经在PATH
中。)
最好的是,脚本中的#!python2
会导致通过Python 2启动,#!python3
会导致通过Python 3启动。这样,您可以同时使用两个版本的Python脚本,并且可以以统一的方式启动它们--py script.py
或只需单击脚本图标。
还有更多细节,但基本上这就是你需要的。
更新:使用Python launcher for Windows时,您还可以通过在cmd
窗口中输入> script.py
来启动Python脚本(即在脚本名字前不需要明确地输入py
--Python launcher的名称--)或者甚至只需输入没有.py
扩展名的名称(即只需> script
)。
这样,事情开始类似于Unix命名脚本的方式(无需扩展名);但是,在创建脚本文件时仍然必须添加.py
扩展名。
(是的,它比Unix的方法有点更加混乱。这就是操作系统开发中“先思考!”和“先销售!”方法之间的区别。无论如何,我要向Python开发团队致敬,他们通过发布Windows版本的Python启动器,充分利用了Windows的优势。)
不确定它是否符合您的需求,但您应该看一下virtualenv:http://www.virtualenv.org/en/latest/
这将允许您创建Python 2和3的单独环境(使用-p标志)。如果您的用例是无法使用此方法的,请更新问题并提供更多具体信息,我相信您会得到其他建议。
.exe
会破坏 py -3
的使用,而这是由 @pepr 建议的。 - Kevin