系统路径中的多个Python安装

2 投票
3 回答
1544 浏览
提问于 2025-04-17 13:15

我在我的Windows 7 64位电脑上安装了两个Python版本,一个是32位的Python 2.7,另一个是64位的Python 2.7。每个版本都是为了特定的应用程序需要的。目前,我的系统路径里只有32位的Python安装。

现在,如果我在Windows命令提示符里输入python,它会打开32位的Python 2.7。我希望能够输入python32来启动32位版本,或者输入python64来启动64位版本。

我知道我可以把每个python.exe文件分别重命名为python32.exepython64.exe,但这样会导致一些特定应用程序找不到它们需要的路径。有没有办法让每个python.exe保持原名,但在命令提示符中用不同的命令来启动呢?

3 个回答

0

我使用的是ixe013的连接方法。不过,我遇到的一个问题是,enthought的enpkg安装程序无法“识别”这个符号连接。我记不清具体细节了,但它破坏了符号链接,然后声称安装目录是空的……

所以,如果你在使用ixe013的方法和enthought一起更新时,我建议你按照以下步骤操作:

先删除连接:junction -d c:\python

把c:\python.2.7.32bits重命名为c:\python

运行enpkg,然后再回去:

把c:\python重命名回c:\python.2.7.32bits

最后,执行:junction -d c:\python & junction c:\python c:\python.2.7.32bits

1

下面是我在系统上处理多个版本Python的方法。这种方法甚至可以和Google在depot_tools中捆绑的Python兼容。

  1. 下载并安装任何版本的Python,放在一个通用的文件夹里,比如默认的 C:\Python
  2. 把这个文件夹重命名为一个具体的名字,比如 c:\Python.2.7.32bits
  3. 下载并安装你需要的其他版本,使用同样的安装文件夹,每次都重命名。

这样做是为了确保注册表设置正确,因为有些应用程序需要这些设置。

接下来,下载Junction并把它解压到你的路径中的某个地方。要在不同的Python版本之间切换,可以使用这个命令:

junction -d c:\python & junction c:\python c:\python.2.7.32bits

在一个批处理文件中,它看起来是这样的:

@echo off
junction -d c:\python & junction c:\python c:\python.%1
echo Now using
python -V
where python

你可以把它放在你的路径中,并用以下命令调用它:

switch-python 2.7.32bits
2

你可以为每个版本添加批处理文件

python32.bat

@C:\python32\python.exe %*

python64.bat

@C:\python64\python.exe %*

撰写回答