python中的cython库有问题

python中的cython库有问题,python,visual-c++,cython,visual-studio-2017-build-tools,Python,Visual C++,Cython,Visual Studio 2017 Build Tools,我正在编写python代码。这段代码使用一个用cython编写的库。 当我运行时,我会遇到以下错误: 我使用python3.7。我搜索了很多,但找不到一个有用的方法来解决它。我认为VisualCPP还没有与python相匹配。首先,我有visual cpp 2017,但不起作用,我卸载了它。之后,我只安装了visualcppbuildtools,但结果没有改变。有人能帮我吗? (我还在代码中添加了以下部分,但结果没有改变。) 这是setup.py: from distutils.core i

我正在编写python代码。这段代码使用一个用cython编写的库。 当我运行时,我会遇到以下错误:

我使用python3.7。我搜索了很多,但找不到一个有用的方法来解决它。我认为VisualCPP还没有与python相匹配。首先,我有visual cpp 2017,但不起作用,我卸载了它。之后,我只安装了visualcppbuildtools,但结果没有改变。有人能帮我吗? (我还在代码中添加了以下部分,但结果没有改变。)

这是setup.py:

from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy
ext_modules=[
    Extension("lib2",
              ["lib2.pyx"],
              language="c++", 
              libraries=["m"],
              extra_compile_args = ["-std=c++11", "-O3", "-ffast-math", "- 
              march=native", "-fopenmp" ],
              extra_link_args=['-fopenmp'],
              include_dirs=[numpy.get_include()]
              ) 
    ]

setup( 
  name = "lib2",
  cmdclass = {"build_ext": build_ext},
  ext_modules = ext_modules,
  include_dirs=[numpy.get_include()]
)
这是main.py:

import sys
sys.path.append('E:\EDU\Hipp\septo-hippocampal-model-master\septo- 
hippocampal-model-master\cython_code')
import pyximport
pyximport.install()
import lib2 as lib
最后一个是lib2.pyx:

from libc.math cimport exp, cos
from libcpp.map cimport map
from libcpp.pair cimport pair
from libcpp.string cimport string
from libcpp.vector cimport vector
from libcpp cimport bool
from cython.operator cimport dereference, preincrement
import numpy as np
cimport numpy as np
from libcpp.queue cimport queue
from cython.parallel cimport parallel, prange
cimport cython

通过这些简单的代码,我仍然收到上述错误

请将代码和错误消息粘贴为文本,不要使用屏幕截图。代码太大,您需要提供一个。同时使用setup.py和pyximport没有任何意义。你应该选一个并坚持下去。我猜问题在于pyximport没有给出numpy include路径(而且由于您从未使用setup.py,因此指定它是没有意义的)。如果错误消息可能更早,则更有用的位。顺便说一句,您的setup.py是用于gcc而不是msvc。我认为最好是调整setup.py而不是使用pyximport,这涉及到更多的魔力,如果出现问题,修复起来更为复杂(而且更多的人可以使用setup.py而不是pyximport)。请将代码和错误消息粘贴为文本,不要使用屏幕截图。代码太大,您需要提供一个。同时使用setup.py和pyximport没有任何意义。你应该选一个并坚持下去。我猜问题在于pyximport没有给出numpy include路径(而且由于您从未使用setup.py,因此指定它是没有意义的)。如果错误消息可能更早,则更有用的位。顺便说一句,您的setup.py是用于gcc而不是msvc。我认为最好是调整setup.py而不是使用pyximport,这涉及到更多的魔力,如果出现问题,修复起来也更复杂(而且更多的人可以使用setup.py而不是pyximport)。