__init__.py -->hello.pyx -->setup.py 在 hello.pyx- 里面 pri-6ren">
gpt4 book ai didi

python - 如何解决错误 "error compiling Cython file"错误?

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:53 25 4
gpt4 key购买 nike

我正在尝试关注这个 basic cython tutorial .在我的目录中
--> __init__.py
-->hello.pyx
-->setup.py

在 hello.pyx-

里面
print "Hello World"

内部 setup.py

from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize("hello.pyx"))

当我执行 python setup.py build_ext --inplace我收到这个错误-

F:\bots\cython>python setup.py build_ext --inplace
Compiling hello.pyx because it changed.
Cythonizing hello.pyx
Error compiling Cython file:
------------------------------------------------------------
...
^
------------------------------------------------------------

cython:0:0: cython.hello is not available

Traceback (most recent call last):



File "setup.py", line 5, in <module>
ext_modules = cythonize("hello.pyx")
File "C:\Anaconda2\lib\site-packages\Cython\Build\Dependencies.py", line 778,in cythonize
cythonize_one(*args[1:])
File "C:\Anaconda2\lib\site-packages\Cython\Build\Dependencies.py", line 895, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: hello.pyx

它工作了一次,它也生成了 hello.pyd,但之后我使用 conda 安装了几个包(tensorflow 和其他包)。但从那以后它不起作用并给出上述错误。

我有 mingw installed using conda

最佳答案

尝试从该目录中删除 __init__.py。出于某种原因,它在尝试编译时会混淆 cython。

您还可以考虑使用 pyximport 扩展,例如:导入 pyximport; pyximport.install(),然后 import your_module(就好像它是一个普通的 .py)如果你只是想从普通的 python 文件导入 .pyx 文件。 (在后一种情况下,不必删除 __init__.py。)

关于python - 如何解决错误 "error compiling Cython file"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com