Python Cython:ImportError:DLL加载失败:%1不是有效的Win32应用程序

Python Cython:ImportError:DLL加载失败:%1不是有效的Win32应用程序,python,anaconda,cython,pyd,cythonize,Python,Anaconda,Cython,Pyd,Cythonize,我用Cython编译了Python代码,得到了一个.pyd文件。我想导入它,所以建议我将它放在我的PYTHONPATH中 这是: In [1]: import sys In [2]: sys.path Out[2]: ['', 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\spyder\\utils\\site', 'C:\\Users\\loic\\Anaconda2\\python27.zip', 'C:\\Users\\loic\

我用Cython编译了Python代码,得到了一个
.pyd
文件。我想导入它,所以建议我将它放在我的
PYTHONPATH

这是:

In [1]: import sys
In [2]: sys.path
Out[2]: 
['',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\spyder\\utils\\site',
 'C:\\Users\\loic\\Anaconda2\\python27.zip',
 'C:\\Users\\loic\\Anaconda2\\DLLs',
 'C:\\Users\\loic\\Anaconda2\\lib',
 'C:\\Users\\loic\\Anaconda2\\lib\\plat-win',
 'C:\\Users\\loic\\Anaconda2\\lib\\lib-tk',
 'C:\\Users\\loic\\Anaconda2',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\Sphinx-1.5.1-py2.7.egg',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\win32',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\win32\\lib',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\Pythonwin',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\setuptools-27.2.0-py2.7.egg',
 'C:\\Users\\loic\\Anaconda2\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\loic\\.ipython']
我将我的
.pyd
文件放入
C:\\Users\\loic\\Anaconda2\\lib\\site软件包中,当我试图用Python导入它时,我收到了这样一条消息:

    import maido
ImportError: DLL load failed: %1 is not a valid Win32 application.
然后我把我的
.pyd
文件放在与Python程序相同的目录中,得到了完全相同的消息

我做了一些研究,发现了那篇文章(),但它似乎没有给我更多的信息

我将Python64位用于Anaconda2,因为我编译的代码需要Python64位(它需要更多的内存,否则控制台的内存很快就会饱和)

有人能告诉我应该怎么做才能使它与Python 64位兼容吗?

编辑:如果需要,这是我的
setup.py
文件

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

from Cython.Distutils import build_ext
from Cython.Build import cythonize

import numpy as np

setup(name = "maido",
      include_dirs = [np.get_include()],
      cmdclass = {'build_ext': build_ext},
      ext_modules = cythonize("C:\Users\python\Documents\maido\maido_cython.pyx"),
      )

我会尝试创建一个合适的python包,以便
pip安装。
工作(可能在测试时使用
--user
标志)。@Lo你确定你的编译器没有使用32位编译器编译它吗?即,使用Visual Studio 64位命令提示符,然后重试again@Matt我想是的,我使用的是Anaconda2(64位)提示符。你的意思是,我不应该键入
C:\Users\loic\Documents\maido\setup.py build\u ext--inplace
而应该键入
C:\Users\python\Documents\maido\setup.py build\u ext--inplace--compiler=something
或类似的东西?@我的意思是,如果在进行Cythonize之前,系统上有一个32位和64位的编译器,你应该打开它在键入
Cythonize
命令之前,将Visual Studio工具命令提示符调到64位。我尝试了您所说的,但没有成功。有人告诉我Cython很容易使用,但我什么都不能用。我将卸载Anaconda并重新开始。谢谢你的帮助。