在已安装Python的计算机上非交互式安装额外的Python环境
我正在开发一个部署工具,这个工具可以建立一个预装了多个依赖项的Python环境。根据Python官网的文档,我应该可以这样做:
msiexec.exe /i python_installer\python-2.4.4.msi TARGETDIR=c:\temp\install\fooX
但是,如果系统上已经安装了那个版本的Python(通常在C:\Python24这个位置),那么这个命令行会尝试修复现有的安装,而不会在TARGETDIR创建新的安装。
有没有人知道其他的命令行参数,可以帮助我实现以下目标:
- 我希望安装过程在完成之前不要结束。这样我可以在当前过程结束后,开始下一步的环境构建。
- 我希望安装总是安装到TARGETDIR,不管其他地方是否已经有有效的Python安装。
顺便说一下,我在Windows XP 32位上使用的是Python 2.4.4。
更新1:我们已经解决了“总是安装”的问题,现在我只需要一种方法,让程序在完成之前保持运行。如果我使用/qn,进程会在后台启动并立即结束。我一直在想,为什么这么多Windows工具都是这样工作——这让命令行脚本变得不可能!
1 个回答
2
你可以试试用 /a
这个选项,代替 /i
:
这是 msiexec 帮助文档里的内容:
/a <Product.msi>
Administrative install - Installs a product on the network
还有一个可以考虑的选项是 /qn
:
/q[n|b|r|f]
Sets user interface level
n - No UI
你可以通过只输入 msiexec
而不加任何参数,来打开 msiexec 的帮助窗口。