44

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

4

4 回答 4

95

有一种更好的方法可以在 Windows 上共存/启动 Python 2 和 Python 3。Python 3.3 引入了适用于 Windows 的 Python 启动器(参见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:\WindowsPATH.)

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

还有更多细节,但这基本上是您所需要的。

更新:在 Windows 上使用 Python 启动器时,您还可以通过键入(即没有在脚本名称前面显式键入 --Python 启动器的名称)甚至键入不带名称的名称来从cmd窗口启动 Python 脚本扩展名(即只是)。> script.pypy.py> script

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

(是的,它比 Unix 的方法有点混乱。这就是“先思考!”“先销售!”操作系统开发方法之间的区别。无论如何,我对 Python 开发团队的挤压表示感谢Windows 中最好的——通过发布适用于 Windows 的 Python 启动器。)

于 2013-06-21T23:06:12.880 回答
6

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

这将允许您为 Python 2 和 3 创建单独的环境(使用 -p 标志)。如果您的用例对此不起作用,请使用更多细节更新问题,我相信您会得到其他建议。

于 2013-04-09T20:45:57.713 回答
2

假设您将 python3 安装在单独的目录中,您还可以将 python 3 可执行文件重命名为 python3.exe。

于 2013-04-09T20:55:52.343 回答
0

您需要编辑环境变量以包含 Python 3 或 Python 2 路径。

于 2013-04-16T01:47:12.877 回答