运行使用PyInstaller创建的应用程序时出现问题,导入GTKsearching不存在的目录

2024-04-19 23:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建Python应用程序的可执行文件,它使用PyGTK来制作GUI。我有一个使用Pyinstaller的完善的、自动化的构建过程,它在以前的应用程序中为我工作过。我只想说它叫平常制造商规范.py以及构建.py对于32位python2.7,Pyinstaller配置为32位。生成的32位应用程序在我的计算机和另一台运行Windows 7 64位的计算机上运行良好,但在32位Windows XP上失败,并出现以下错误:

C:\OutNav_0_64\OutNav_0.64>outnav
Traceback (most recent call last):
  File "<string>", line 23, in <module>
  File "C:\Pyinstaller-1.5\iu.py", line 436, in importHook
  File "C:\Pyinstaller-1.5\iu.py", line 521, in doimport
  File "C:\Users\462974\Documents\Local Sandbox\tools\utilities\Oni\build\pyi.win32\OutNav\outPYZ1.pyz/gtk", line 40, in
 <module>
  File "C:\Pyinstaller-1.5\iu.py", line 477, in importHook
  File "C:\Pyinstaller-1.5\iu.py", line 495, in doimport
  File "C:\Pyinstaller-1.5\iu.py", line 297, in getmod
  File "C:\Pyinstaller-1.5\archive.py", line 468, in getmod
  File "C:\Pyinstaller-1.5\iu.py", line 109, in getmod
ImportError: DLL load failed: The specified procedure could not be found.

奇怪的是,我的机器上没有C:\Pyinstaller-1.5目录,也没有遇到错误的目录。我不知道它为什么要从这个不存在的目录运行代码,或者丢失的DLL是什么。有人能帮我把PyGTK折叠到我的应用程序中吗?在

注意:跟踪的第一行,我程序中的第23行是

^{pr2}$

更新:我的管理器在64位Windows XP上成功运行了它。 更新2:他搞错了,是64位的Windows7。在他的WindowsXP安装上也有同样的问题。在

另外,在发生故障的原始计算机上,从可执行文件的目录中,我执行了以下操作:

>>> import imp
>>> fp = open('gtk._gtk.pyd', 'rb')
>>> mod = imp.load_module('gtk._gtk', fp, 'gtk._gtk.pyd', ('.pyd', 'rb', 3))

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

Tags: inpy目录应用程序gtkwindows计算机line
1条回答
网友
1楼 · 发布于 2024-04-19 23:26:47

据我所知,pyinstaller在Windows7上生成的.pyd文件(格式为.DLL文件)与Windows XP不兼容。我的解决方案是简单地在windowsxp机器上重新创建我的构建过程,这使我很满意。在

相关问题 更多 >