从字面上看,我没有发现任何可以提供帮助的谷歌搜索。即使对于 py2exe,但我想使用 pyinstaller。
我的问题是模块(pymunk [aka Chipmunk])未完全包含在 exe 构建中。它可能缺少某种 dll。基本上它缺少一个我不知道如何解决的依赖项。
Failed to load pymunk library.
This error usually means that you don't have a compiled version of chipmunk in
the correct spot where pymunk can find it. pymunk does not include precompiled
chipmunk library files for all platforms.
The good news is that it is usually enough (at least on *nix and OS X) to
simply run the compile command first before installing and then retry again:
You compile chipmunk with
> python setup.py build_chipmunk
and then continue as usual with
> python setup.py install
> cd examples
> python basic_test.py
(for complete instructions please see the readme file)
If it still doesnt work, please report as a bug on the issue tracker at
http://code.google.com/p/pymunk/issues
Remember to include information about your OS, which version of python you use
and the version of pymunk you tried to run. A description of what you did to
trigger the error is also good. Please include the exception traceback if any
(usually found below this message).
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "C:\python26\lib\site-packages\PyInstaller\loader\iu.py", line 386, in importHook
mod = _self_doimport(nm, ctx, fqname)
File "C:\python26\lib\site-packages\PyInstaller\loader\iu.py", line 480, in doimport
exec co in mod.__dict__
File ".\build\pyi.win32\CollisionUtil\out00-PYZ.pyz\pymunk", line 53, in <module>
File "C:\python26\lib\site-packages\PyInstaller\loader\iu.py", line 431, in importHook
mod = self.doimport(nm, ctx, ctx + '.' + nm)
File "C:\python26\lib\site-packages\PyInstaller\loader\iu.py", line 480, in doimport
exec co in mod.__dict__
File ".\build\pyi.win32\CollisionUtil\out00-PYZ.pyz\pymunk._chipmunk", line 14, in <module>
File ".\build\pyi.win32\CollisionUtil\out00-PYZ.pyz\pymunk.libload", line 68, in load_library
File ".\build\pyi.win32\CollisionUtil\out00-PYZ.pyz\ctypes", line 431, in LoadLibrary
File ".\build\pyi.win32\CollisionUtil\out00-PYZ.pyz\ctypes", line 353, in __init__
WindowsError: [Error 126] The specified module could not be found
Chipmunk 库是通过 ctypes 模块包装的,因此只要这些消息来自 Chipmunk,它就假定它正在被编译。从 Python 的角度来看,这对我没有帮助。也许不吧。
谁能告诉我如何修复 pyinstaller 的这种依赖关系?