Cython:“ PyxImporter”对象没有属性“ find_spec”

时间:2018-09-11 14:21:51

标签: python-3.x cython

我正在尝试将Cython模块集成到我的项目中,但无法使其正确编译。我已经将问题追溯到这个最小的例子:

假设我在Public Sub Main() Dim ExecResult As DTSExecResult = DTSExecResult.Failure Dim SIFISO_app As Application = New Application Dim p As Package = New Package Dim cm_DES As ConnectionManager = p.Connections.Add("FILE") cm_DES.Name = "local_pkg" cm_DES.ConnectionString = String.Format("C:\Test.dtsx") Dim exec As Executable = p.Executables.Add("STOCK:ExecutePackageTask") Dim th As TaskHost = CType(exec, TaskHost) th.Properties("Name").SetValue(th, "Execute selectSIFISO Package") th.Properties("Description").SetValue(th, "Execute selectSIFISO Package") th.Properties("Connection").SetValue(th, "local_pkg") th.Properties("ExecuteOutOfProcess").SetValue(th, "False") ExecResult = p.Execute() p.Dispose() Dts.TaskResult = ScriptResults.Success End Sub 中执行以下操作,则我有两个文件a.pyb.pyx位于同一目录中。

a.py

然后一切正常,import pyximport; pyximport.install() import b 已成功编译并导入。

但是,如果我改为在b.pyx中进行此操作,则假设a.pya.py位于b.pyx中:

dir1/dir2

(在这个示例中这有点荒谬,但是说明了阻止我从模块层次结构的其他位置导入a的原因),我得到了以下异常:

import os
import sys

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

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

这是预期的行为还是我的安装有问题? (我在Windows 10上)

注意:SO上还有一个标题非常相似的问题,根本无法回答我的问题。

1 个答案:

答案 0 :(得分:0)

我收到了此错误消息(尽管不一定是相同的路径情况),并且通过将Cython从0.28.5升级到0.29得以解决。