2010-11-05 48 views
3

我正在嘗試爲Windows構建Python .exe,並且能夠很好地創建它。但是,當我運行該應用程序時,我注意到它不能執行其所有功能,因爲並非所有的庫都已導入; PySNMP沒有得到特定的導入。當我查看構建過程的輸出時,我注意到PySNMP根本沒有列出,即使我的程序中有幾個模塊導入它。任何人都知道可能會導致這個問題?謝謝!使用pyinstaller創建Python可執行文件時未導入的庫

這裏是生成安裝程序的代碼:

FILES = <main program modules (.py)> 
PyInstaller = C:/Python27/pyinstaller 
CygPyInstaller = /cygdrive/c/Python27/pyinstaller run : python app.py makespec : $(FILES) @echo "***** PyInstaller: Makespec *****" python $(PyInstaller)/Makespec.py \ 
--onefile \ 
--windowed \ 
--icon=Icons/icon.ico \ 
--name=Application1045 \ 
app.py 
+0

我們可以看到生成安裝程序的代碼嗎? – 2010-11-05 21:10:13

+0

FILES = <主程序模塊(的.py)> PyInstaller = C:/ Python27/pyinstaller CygPyInstaller =/cygdrive/C/Python27/pyinstaller 運行: \t蟒app.py makespec:$(FILES ) \t @echo 「***** PyInstaller:Makespec *****」 \t蟒$(PyInstaller)/Makespec.py \ --onefile \ --windowed \ --icon =圖標/圖標.ico \ - 名稱= Application1045 \ app.py – Jenny 2010-11-05 21:20:12

回答

1

,如果你是爲了進口這些庫(自定義模塊路徑例如,我有一個./lib/文件夾中捆綁一些非標準的庫我源代碼樹),那麼你應該在pyinstaller命令行中添加--paths=lib - 在代碼中間有sys.path.append(「lib」)不起作用(不知道它是如何設法編譯的它找不到它們,但確實如此,並且這花了一段時間才能追查到......)

+0

我試過這個。它不起作用。 pyinstaller --clean -F app.py --path /home/robertja/.local/lib/python2.6/site-packages/pysnmp-4.2.5-py2.6.egg/pysnmp/smi:/home/robertja /.local/lib/python2.6/site-packages/pysnmp-4.2.5-py2.6.egg/pysnmp/smi/mibs:/home/robertja/.local/lib/python2.6/site-packages/ pysnmp-4.2.5-py2.6.egg/pysnmp/smi/mibs/instances – 2014-02-14 21:43:50

+0

看起來像你正在使用「--path」而不是「--paths」(儘管它已經很長時間了,我不記得是哪個是對的,並且不知道在當前版本中哪個是正確的) – Shish 2014-02-16 11:36:08

+0

長選項允許縮短選項。也使用-p,這是相同的。 – 2014-02-16 12:23:16

相關問題