Cython: 'PyxImporter'对象没有'find_spec'属性。

3

我正在尝试将一个Cython模块集成到我的项目中,但是我在正确编译它方面遇到了困难。 我已经将问题追踪到了这个最小示例:

假设我有两个文件a.pyb.pyx位于同一个目录中,如果我在a.py中执行以下操作:

import pyximport; pyximport.install()
import b

如果一切正常,b.pyx 将会被成功编译和导入。

但是如果我在 a.py 中做这个操作,假设 a.pyb.pyx 都位于 dir1/dir2 目录下:

import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))

import pyximport; pyximport.install()
import dir1.dir2.b

(尽管在此示例中有些毫无意义,但说明了阻止我从模块层次结构的其他地方导入a的原因),我会收到以下异常:
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 888, in _find_spec
AttributeError: 'PyxImporter' object has no attribute 'find_spec'

这是预期行为还是我的安装出了问题?(我在Windows 10上)注意:在SO上有一个标题非常相似的问题,但根本没有回答我的问题。
1个回答

0

我曾经遇到过这个错误信息(虽然路径情况可能不同),但通过将Cython从0.28.5升级到0.29,问题得以解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接