ImportError: DLL load failed
当你在编译成pyd的时候是使用的 Visual C++ for Python9.0
, 导致的, 具体原因我也没有研究过, 哈哈哈~~~
改用Microsoft Visual Studio 10.0
温馨提示:
不要使用
from setuptools import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize(‘hanalyse.py’),
)
这样去编译, 他一直认的是Visual C++ for Python9.0
检查 C:\Program Files (x86)\Microsoft Visual Studio 10.0
是否存在, 不存在可以通过下面的链接下载安装
链接:https://pan.baidu.com/s/1HBkCPcOyVfHpbgQM0PwhZQ
提取码:zb6p
安装后你可以看到
然后此时需要改变一下编译的脚本:
setup.py
import os
from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extension
os.environ["VS90COMNTOOLS"] = os.environ["VS100COMNTOOLS"]
extensions = []
extensions.append(Extension('hanalyse', ['hanalyse.py']))
setup(
ext_modules=cythonize(extensions, compiler_directives={
'language_level': 2}),
)
Python27 是去找VS90COMNTOOLS
环境变量中的, 所以此时我们需要将Microsoft Visual Studio 10.0
指向给9.0
的os.environ["VS90COMNTOOLS"] = os.environ["VS100COMNTOOLS"]
如果你不想在脚本中添加这个设置环境变量, 可以在
系统变量中添加也是可以的
VS90COMNTOOLS
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools
如果改了这个注意环境问题, pycharm和cmd都需要重启
这些设置好后重新重新运行
setup.py
此时编译是调用的是Microsoft Visual Studio 10.0
再次导入就没有问题.