python cython导入错误:DLL加载失败:%1不是有效的Win32应用程序

python cython导入错误:DLL加载失败:%1不是有效的Win32应用程序,python,cython,Python,Cython,这就是我所做的,但是我在步骤3中失败了,我尽了最大努力,却找不到解决方法 步骤1:安装python-2.7.12.amd64、Cython-0.24-cp27-cp27m-win_amd64和vs2015.3.com_enu。(存在一些问题,但可以解决。) 第二步:按照以下步骤做: 生成.c和.pyd文件 步骤3:但是当我导入模型时,失败了 “回溯…文件“”,导入中的第1行…”。。。 ImportError:DLL加载失败:%1不是有效的Win32应用程序 我该怎么解决这个问题?有人有什么进展吗

这就是我所做的,但是我在
步骤3
中失败了,我尽了最大努力,却找不到解决方法

步骤1:安装python-2.7.12.amd64、Cython-0.24-cp27-cp27m-win_amd64和vs2015.3.com_enu。(存在一些问题,但可以解决。)

第二步:按照以下步骤做: 生成.c和.pyd文件

步骤3:但是当我导入模型时,失败了

“回溯…文件“”,导入中的第1行…”。。。 ImportError:DLL加载失败:%1不是有效的Win32应用程序


我该怎么解决这个问题?有人有什么进展吗?非常感谢。

正如@J.J.Hakala提到的,请务必使用他链接的编译器,否则它将无法与您的Python版本一起工作。另外,请确保在
setup.py
中列出了所有包含项,即

from Cython.Distutils import build_ext
from setuptools import setup
from setuptools import Extension

module = 'MyModule'

ext_modules = [Extension(module, sources=[module + ".pyx"],
              include_dirs=['path1','path2'], # put include paths here
              library_dirs=[], # usually need your Windows SDK stuff here 
              language='c++')]

setup(
    name = module,
    ext_modules = ext_modules,
    cmdclass = {'build_ext': build_ext},
    include_dirs = ['path1', 'path2']
)

在构建时,请确保指定:
python setup.py build\u ext--compiler=msvc
,以防系统上有多个编译器。当您使用时,他们会注意到您需要setuptools版本>=6.0,因此请确保您在那里是最新的。

对于python2.7,应该使用的是该版本。我使用了,但不起作用。谢谢你,J.J.Hakala。没问题,学习Cython花了好几个月的时间,因为文档/教程假设你一开始是职业选手:)