在Windows中以批处理文件静默安装numpy.exe
问题内容:
我想创建一个批处理文件,以帮助多个用户在Windows共享驱动器上安装numpy。基本上,用户根本不必输入选项或执行任何操作(就像双击numpy可执行安装程序一样)。
Python安装 已经存在 。用户只需运行批处理文件并将numpy安装到默认Python\Lib\site-packages
位置。
我尝试使用以下命令:
numpy-1.6.1-win32-superpack-python2.7.exe /qn
numpy-1.6.1-win32-superpack-python2.7.exe /quiet
numpy-1.6.1-win32-superpack-python2.7.exe /passive
在所有情况下,批处理文件都与可执行文件位于同一目录中,并且会弹出一个图形窗口,用户必须一次又一次单击“下一步”。有没有一种方法可以使用所有默认选项来运行安装并且没有用户交互?
问题答案:
看起来numpy安装过程实际上是由两个安装程序组成的。外部是NSIS,内部是python的distutils安装程序。所有NSIS安装程序都具有/s
用于静默安装的,但是此NSIS安装程序将调用distutils安装程序。
不幸的是,distutils安装程序似乎没有任何静默标志。我只看到两个明显的选择:
- 自己编译numpy并使其发出msi安装程序(因此,应该能够以静默方式安装)。使用
python setup.py bdist_msi
。如果愿意,可以使用bdist_nsi生成NSIS包。 - 使用AutoIt之类的工具来自动化distutils安装程序。只需等待disutils窗口出现并向其发送一系列键盘快捷键即可自动执行安装。
后者似乎是更实际的解决方案。您还可以尝试让python开发人员在distutils安装程序中获取一个静默标志…