2010-11-05 86 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

相关问题