我正在尝试将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.py
和b.pyx
位于同一目录中。
a.py
然后一切正常,import pyximport; pyximport.install()
import b
已成功编译并导入。
但是,如果我改为在b.pyx
中进行此操作,则假设a.py
和a.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上还有一个标题非常相似的问题,根本无法回答我的问题。
答案 0 :(得分:0)
我收到了此错误消息(尽管不一定是相同的路径情况),并且通过将Cython从0.28.5升级到0.29得以解决。