当我运行我的py程序时,它按照我的意图运行。如果我在Linux机器上并使用Pyinstaller构建可执行文件,那么它可以毫无问题地构建并执行而不会出现问题。我已经搜索了Pyinstaller文档,git等等。没有任何已发布的修复程序帮助
我仍然是python的新手,觉得它可能是一个简单的修复,可能会过度思考问题
为什么我不能在使用pyinstaller的基于Windows的系统上构建功能性的.exe?
Windows 10系统
Pyinstaller版本3.2
Python版本3.5.2
这是一个使用appJar的GUI程序,它也是最新的。
文件确实构建,但错误"无法执行脚本"
修改 不确定这是否最好像这样编辑但是...... 因此研究输出并进行调整,问题似乎是appJar.py。由于某种原因,它缺少资产,我正在研究它。问题是我仍然不习惯看这种输出,不知道从哪里开始。
C:\Users\_User_>C:\temp\fileCreatorGUI\fileCreatorGUI.exe
Traceback (most recent call last):
File "F:\Users\_User_\python_working\fileCreatorGUI.py", line 73, in <module>
app = gui()
File "C:\Users\_User_\AppData\Local\Programs\Python\Python35\lib\site-packages\appJar\appjar.py", line 509, in __init__
self.topLevel.wm_iconbitmap(self.appJarIcon)
File "C:\Users\_User_\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 1716, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "C:\temp\fileCreatorGUI\appJar\resources\icons\favicon.ico" not defined
Failed to execute script fileCreatorGUI
编辑2 请参阅下面的答案,但是我在这个树上吠叫了错误的树,
.dll&#39>上的Pyinstaller输出阻塞:
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
(There are like ~40 of these)
我将这些.dll添加到python路径中,我在.spec文件中的bianaries中声明了它们。
这是一个截断日志:
2414 WARNING: Can not get binary dependencies for file: C:\Windows\system32\api-
ms-win-crt-stdio-l1-1-0.dll
Traceback (most recent call last):
File "C:\Users\_USER_NAME\AppData\Local\Programs\Python\Python35-32\lib\site-pa
ckages\PyInstaller\depend\bindepend.py", line 695, in getImports
return _getImports_pe(pth)
File "C:\Users\_USER_NAME\AppData\Local\Programs\Python\Python35-32\lib\site-pa
ckages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
dll, _ = sym.forwarder.split('.')
TypeError: a bytes-like object is required, not 'str'
2423 WARNING: Can not get binary dependencies for file: C:\Windows\system32\api-
ms-win-crt-heap-l1-1-0.dll
我尝试了此处列出的修复程序: https://github.com/pyinstaller/pyinstaller/pull/1981
但它似乎没有什么区别。
有人建议添加sys.path.insert()
路线,但无论如何都没有任何区别
我也尝试在Windows 7的VM中,干净安装,没有变化。我的下一步是尝试在Debian中使用Wine,但我真的不想走那条路。任何帮助,将不胜感激。谢谢
答案 0 :(得分:0)
原来这是一个appJar /打包问题,pyinstaller没有查找资产的正确目录。根据appJar的开发,我在appJar.py中注释了两行代码,508-509行:
if self.platform == self.WINDOWS:
self.topLevel.wm_iconbitmap(self.appJarIcon)
有关详细信息,请点击此处:https://github.com/jarvisteach/appJar/issues/84 我可能可以通过在pyinstaller中使用--path参数来解决这个问题,但目前问题已完全解决