在py2exe构建期间,出现以下错误:

creating python loader for extension 'win32clipboard' (C:\Python27\lib\site-packages\win32\win32clipboard.pyd -> win32clipboard.pyd)
creating python loader for extension '_rl_accel' (C:\Python27\lib\site-packages\_rl_accel.pyd -> _rl_accel.pyd)
*** finding dlls needed ***
error: libzmq.pyd: No such file or directory

谁能解释我是否真的需要它,在哪里找到它或如何排除它。

谢谢
狂人

最佳答案

要使其正常工作,必须执行三个步骤:

  • 使用libzmq.pyd选项从dll中排除dll_excludes。这样可以避免出现“缺少pyzmq.pyd”错误。
  • 从带有zmq.libzmq的模块中排除excludes(相同的东西)。这将跳过通常的.pyd重命名和py2exe所做的代理。
  • 使用zmq.backend.cython选项显式添加includes,因为py2exe无法通过pyzmq后端选择代码看到它。如果不这样做,将收到“没有名为cffi的模块”错误。

  • 例子:
    import zmq.libzmq
    
    setup(
        # ...
        zipfile='lib/library.zip',
        options={
            'py2exe': {
                'includes': ['zmq.backend.cython'],
                'excludes': ['zmq.libzmq'],
                'dll_excludes': ['libzmq.pyd'],
            }
        },
        data_files=[
            ('lib', (zmq.libzmq.__file__,))
        ]
    )
    

    关于python - py2exe:错误:libzmq.pyd:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14870825/

    10-09 22:12