我在尝试冻结导入 ctypes 的 python 脚本时收到以下错误:
Warning: unknown modules remain: _bisect _ctypes _hashlib _heapq _locale _random _socket _ssl _struct _tkinter _weakref array binascii cStringIO collections datetime fcntl itertools math operator pyexpat readline select strop syslog termios time
,而ctypes是python2.5中的内置模块,并且ctypes的路径被正确识别,如下所示:
P ctypes /usr/local/lib/python2.5/ctypes/__init__.py
m ctypes._endian /usr/local/lib/python2.5/ctypes/_endian.py
有什么方法可以手动复制一些文件并使其工作吗?有没有人成功地将 ctypes 冻结在独立的二进制文件中?
我建议你使用 py2exe 或类似的东西而不是 freeze。
我知道这确实已经过时了,但以防万一其他人偶然发现这个线程希望找到答案:
您可能需要在冻结的发行版中包含一些 python 动态链接库:例如c:\python\dlls\_ctypes.pyd.
显然,如果您可以使用 PyInstaller(或 py2exe 等),那么几乎在所有情况下都会更容易。