【问题标题】:How do I run python 2 and 3 in windows 7? [duplicate]如何在 Windows 7 中运行 python 2 和 3? [复制]
【发布时间】:2013-04-01 11:32:09
【问题描述】:

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

【问题讨论】:

  • 当然可以,因为“安装python”只是解压一堆文件夹。只需运行安装程序,您的 C 盘中就会有一个 python26 和 python32 文件夹。关于命令,每次您想使用另一个命令时都需要对环境变量进行一些摆弄,所以可能需要一个简短的 bash 脚本来修改 PATH?
  • j.mp/ZfKVrb 也许这会有所帮助
  • 从 Python 3.3 开始不需要摆弄。
  • 重复的问题较旧,因此答案不同。

标签: python python-2.7 python-3.x


【解决方案1】:

有一种更好的方法可以在 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 扩展设置关联,以便它使用启动器。默认情况下,为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 或只需单击脚本图标。

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

更新:在 Windows 上使用 Python 启动器时,您还可以通过键入 > script.pycmd 窗口启动 Python 脚本(即无需显式键入 py-- Python 启动器——在脚本名称的前面),甚至可以输入不带 .py 扩展名的名称(即 > script)。

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

(是的,它比 Unix 方法有点混乱。这就是 “Think first!”“Sell first!” 方法之间的区别操作系统的发展。无论如何,我要感谢 Python 开发团队通过发布适用于 Windows 的 Python 启动器来充分发挥 Windows 的优势。)

【讨论】:

  • 我没有看到任何 py.exe 或 pyw.exe。但是当我启动 Python 时,我得到:Fatal Python error: Py_Initialize: unable to load the file system codec File "C:\Python27\lib\encodings\__init__.py", line 123 raise CodecRegistryError,\ ^ SyntaxError: invalid syntax。这意味着 python3 正在尝试启动 python2 的东西。
  • 其实py.exe在C:\Python33.但是如果我尝试启动 py -3,我会得到与上面相同的错误。
  • @CMCDragonkai:我无法确认。我刚刚卸载了磁盘上的所有 Python 版本,还物理删除了 C:\PythonXX(带有站点包等),还物理删除了 C:\Windows\py.exe 和 pyw.exe。然后我下载并安装了python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi(py.exe没有添加到C:\Windows),然后python.org/ftp/python/3.3.2/python-3.3.2.amd64.msi——py.exe和pyw.exe添加到了C:\Windows。你有什么版本的 Windows?
  • +1 很好的描述,谢谢。这个问题应该是谷歌搜索中最先出现的问题,可惜不是。
  • 从 Windows 8.1 的新副本开始,我安装了 Python 2.7.9,然后安装了 Python 3.4.3(都带有默认选项)。 Python 3 确实将 py.exe 和 pyw.exe 添加到 C:\Windows,并且一切都按照@pepr 的描述工作。谢谢!
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 重命名.exe 会破坏@pepr 建议的py -3 的使用。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多