2012-04-16 33 views
4

我想創建一個批處理文件,幫助多個用戶在Windows共享驅動器上安裝numpy。基本上,用戶不必輸入選項或執行任何操作(就像他們雙擊numpy可執行文件安裝程序時那樣)。在Windows中以批處理文件靜靜地安裝numpy.exe

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 

在所有情況下,該批處理文件在同一目錄中的可執行文件,並在用戶點擊「下一步」圖形窗口彈出一次又一次。有沒有辦法用ALL默認選項運行安裝,並且沒有用戶交互?

回答

2

看起來numpy安裝過程實際上是由兩個安裝程序組成的。外層是NSIS,內層是python的distutils安裝程序。所有NSIS安裝程序都有用於靜默安裝的/s,但是此NSIS安裝程序會調用distutils安裝程序。

不幸的是,distutils安裝程序似乎沒有任何靜音標誌。我看到只有兩個明顯的選擇:

  • 編譯numpy自己,並使其發出msi安裝程序(因此,應該能夠靜默安裝)。使用python setup.py bdist_msi。如果您願意,可以使用bdist_nsi生成一個NSIS包。
  • 使用類似AutoIt的東西來自動執行distutils安裝程序。只需等待disutils窗口出現&發送一系列鍵盤快捷鍵即可自動安裝。

後者似乎是更實際的解決方案。您也可以嘗試讓蟒蛇開發者得到一個無聲的標誌進入的distutils安裝...

+0

感謝您的解決方案。一旦澄清,在後一種方法中,我會從源代碼構建numpy,而不是**使用可執行安裝程序,對吧? – prrao 2012-04-16 13:47:38

+0

否。使用後一種方法(使用autoit),您可以使用現有的安裝程序。 – Jeff 2012-04-16 13:50:01

+0

好吧,聽起來不錯。你認爲從源頭上構建一個更簡單的解決方案可以嗎?我對Windows腳本沒有太多的經驗,所以如果我可以從命令行創建一組簡單的Python調用,它可能會更容易 – prrao 2012-04-16 13:52:36

0

我用來安裝無人值守的是如下的方法:

%PYTHON_PATH%\Scripts\easy_install c:\temp\numpy-1.9.0.zip 
1

無需從源代碼安裝這如果你有正確的.exe包。

我抓住的是最新numpy的.exe文件從http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

,並從下載工作文件夾,你只需在控制檯輸入:

easy_install c:\users\YourName\downloads\numpy‑MKL‑1.9.1.win32‑py2.7.exe 
+0

謝謝 - 這解決了一個相關的問題,試圖安裝psutil :-) – 2015-02-11 10:45:48