Windows 在py2exe生成的可执行文件中嵌入pyd文件

Windows 在py2exe生成的可执行文件中嵌入pyd文件,windows,cython,py2exe,pyd,Windows,Cython,Py2exe,Pyd,我最近开始试验cython和py2exe,看看是否可以将一些python项目转换为独立的windows二进制文件。到目前为止,我已经成功地使用zipfile=None选项将纯python代码转换为包含所有自定义python库的exe。py2exe生成的“dist”目录非常干净,我的所有库都直接嵌入到exe中 但是,在使用Cython将库转换为.pyd文件后,我遇到了一点问题。当我使用.pyd文件而不是原始的.py文件创建新的可执行文件时,py2exe拒绝将.pyd文件包含在可执行文件中,而是将它

我最近开始试验cython和py2exe,看看是否可以将一些python项目转换为独立的windows二进制文件。到目前为止,我已经成功地使用zipfile=None选项将纯python代码转换为包含所有自定义python库的exe。py2exe生成的“dist”目录非常干净,我的所有库都直接嵌入到exe中

但是,在使用Cython将库转换为.pyd文件后,我遇到了一点问题。当我使用.pyd文件而不是原始的.py文件创建新的可执行文件时,py2exe拒绝将.pyd文件包含在可执行文件中,而是将它们放在exe的目录之外。这些库与以前完全相同,只是编译成.pyd格式

这是我的py2exe setup.py

from distutils.core import setup
import glob
import py2exe

setup_dict = dict(
    windows=[
        {
            "script": "myscript.py",
            "icon_resources": [(1, "myicon.ico")]
        }
    ],
    data_files=[
        ("folder1", ["folder1/file1", "folder1/file2"]),
        ("folder2", ["folder2/file1", "folder2/file2"])
    ],
    options = {
        "py2exe":{
            "includes": ['mylibrary1, 'mylibrary2', 'mylibrary3'],
            "excludes": ['excludedlib1', 'excludedlib2'],
            "dll_excludes": ['crypt32.dll']
        }
    },
    zipfile = None
)

# have to call it twice in order to workaround icon bug
setup(**setup_dict)
setup(**setup_dict)
没有办法在我的可执行文件中包含.pyd以避免目录混乱吗?这对于纯python版本的库来说不是问题

如果有一个方法包括他们,请让我知道


另外请注意,我运行的是64位windows,我不能使用py2exe的“捆绑文件”选项,因为它只能在32位系统上工作。

我很确定它不会工作。我认为py2exe依赖于从zip文件导入的标准功能,这不适用于编译的模块:我很确定它不会工作。我认为py2exe依赖于从zip文件导入的标准功能,这不适用于编译模块: