有没有办法在不破坏任何东西的情况下安装 python 3 而不是安装 python 2?主要问题是我有由“python xxxxx.py abc123”运行的代码。有没有办法将 python 3 更改为“python3 xxxx.py abc123”?相同的命令python
是冲突
4 回答
有一种更好的方法可以在 Windows 上共存/启动 Python 2 和 Python 3。Python 3.3 引入了适用于 Windows 的 Python 启动器(参见http://www.python.org/dev/peps/pep-0397/)。
安装 Python 3.3 后,py.exe
和pyw.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 启动器时,您还可以通过键入(即没有在脚本名称前面显式键入 --Python 启动器的名称)甚至键入不带名称的名称来从cmd
窗口启动 Python 脚本扩展名(即只是)。> script.py
py
.py
> script
这样,事情开始类似于 Unix 命名脚本的方式(不需要扩展);但是,您仍然必须.py
在创建脚本文件时添加扩展名。
(是的,它比 Unix 的方法有点混乱。这就是“先思考!”和“先销售!”操作系统开发方法之间的区别。无论如何,我对 Python 开发团队的挤压表示感谢Windows 中最好的——通过发布适用于 Windows 的 Python 启动器。)
不确定它是否能满足您的需求,但您应该看看 virtualenv: http: //www.virtualenv.org/en/latest/
这将允许您为 Python 2 和 3 创建单独的环境(使用 -p 标志)。如果您的用例对此不起作用,请使用更多细节更新问题,我相信您会得到其他建议。
假设您将 python3 安装在单独的目录中,您还可以将 python 3 可执行文件重命名为 python3.exe。
您需要编辑环境变量以包含 Python 3 或 Python 2 路径。