如何在同一台机器上安装Python2.7的多个副本?

2024-03-28 19:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的Windows机器上同时在两个地方安装python2.7。例如,一个在c:\python27中,另一个在c:\myproduct\python27中。官方安装人员拒绝让我这么做。如果我运行安装程序时已经有安装,它会提示我并询问我是否要更改、修复或删除现有安装。在

Stackoverflow上其他地方提到的TARGETDIR技巧也不起作用-如果在cmd窗口中输入以下内容,则会得到相同的结果:

msiexec /i python-2.7.8.msi TARGETDIR=c:\myproduct\python27

那么,有没有必要在我的Windows机器上安装python2.7两次呢?在

我想这么做的原因是:

  1. 我的产品需要安装32位版本的Python2.7,因为它使用ctypes加载32位DLL。如果用户已经安装了64位版本的2.7,我不认为在顶部安装32位版本是安全的。在
  2. 依赖用户预先安装的Python2.7是不好的,因为他们可能会在以后卸载它。那会让我的产品停止工作。在
  3. 如果我能让它的安装程序总是安装一个已知版本的Python,就可以降低测试产品的复杂性。我可以相信它处于已知状态。在
  4. 我想将pyreadline模块添加到Python安装中,这是我产品的一部分。我怀疑大多数用户宁愿我不要在Python安装上乱来。在
  5. 安装Python时,用户也应将其删除。如果我在标准的地方安装了Python,用户可能会把它用于其他目的,当他们卸载我的产品时,会惊讶地发现它丢失了。在

Tags: 用户版本cmd机器技巧官方人员产品
1条回答
网友
1楼 · 发布于 2024-03-28 19:13:00

如果已经安装了32位版本的Python2.7,那么您应该能够在另一个文件夹中安装32位版本的Python2.7。有关说明,请参见How do I install Python 2.7.3 32 bit and 64 bit on Windows side by side。然而,自动化这一点可能很棘手,您可能需要让用户自己安装。在

我建议您让您的用户安装python2.7 32位版本,如果已经有一个冲突的64位版本,请告诉他们如何安装。然后在安装中:

  1. 确保virtualenv已安装(如果未安装,则安装它)。
  2. 在应用程序文件夹中创建virtualenv

除了列表中的第二项,我认为你必须接受,无论你做什么,如果有人删除了你需要的组件,你的应用程序将失败。如果他们这么做了,他们可以在你的安装程序上使用“修复”选项,你可以从中重新安装丢失的Python,或者告诉他们这是他们需要做的。在

要安装virtualenv,我将首先安装pip(有关说明,请参见https://pip.pypa.io/en/latest/installing.html,您需要下载get_pip.py并使用python2.7解释器运行它),然后运行pip install virtualenv。在

相关问题 更多 >