【问题标题】:Multiple Python installations in System Path系统路径中的多个 Python 安装
【发布时间】:2013-01-02 13:16:00
【问题描述】:
我在 Windows 7 64 位工作站上安装了两个 Python。我有 32 位 Python 2.7 和 64 位 Python 2.7。特定应用程序需要每次安装。我目前的系统路径中只有 32 位 Python 安装。但是,我也想将 64 位版本添加到路径中。
现在,如果我在 Windows 命令提示符中输入python,它将打开 Python 2.7 win32。我希望能够为 32 位版本输入 python32 或为 64 位版本输入 python64。
我意识到我可以将每个 python.exe 文件重命名为 python32.exe 和 python64.exe,但这会破坏特定应用程序寻找的硬编码路径。是否有可能将每个 python.exe 命名为 python.exe 但在命令提示符下给它一个不同的命令?
【问题讨论】:
标签:
python
windows
command-line
path
executable
【解决方案1】:
您可以为每个添加批处理文件
python32.bat
@C:\python32\python.exe %*
python64.bat
@C:\python64\python.exe %*
【解决方案2】:
这是我在系统上处理多个 Python 版本的方法。它甚至与 depot_tools 中捆绑的 Google 的 python 兼容。
- 在通用文件夹中下载并安装任何版本的 Python,例如默认的
C:\Python。
- 将该文件夹重命名为特定名称,例如
c:\Python.2.7.32bits
- 使用您每次重命名的相同安装文件夹下载并安装您需要的任何其他版本。
这是为了直接获取注册表设置,因为某些应用程序需要它。
现在download 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
【解决方案3】:
我使用 ixe013 的 junction 方法。我遇到的一个问题是 enthoughts enpkg 安装程序没有“读取”符号连接...我丢失了详细信息,但它破坏了符号链接,然后声称安装目录为空...
因此,如果您使用 ixe013s 方法,我建议在更新时使用以下方法
删除联结:联结 -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