Julia 调用Python的package时遇到的问题


#1

在使用Julia调用Python的Package时,package下有一层逻辑调用没有问题,但是二级乃至更多级的调用时,就无法通过了,不知道给位时怎么解决的。

请尽可能提供你的demo代码或者GitHub的gist地址。
以下为举例说明:

using PyCall

@pyimport pypackage_A.classA as pyclassA

# python 本身就不支持这样的引用
@pyimport pypackage_B.classB.funcB as pyfuncB

# 假设pypackage_A 和 pypackage_B 一样,都有一个class.func.func_same

 # 函数编译没有问题,执行会报错
 # ERROR: LoadError: type PyObject has no field func_same
 pyclassA.funcA.func_same() 

# 函数编译不通过
pyfuncB.func_same() 



#2

用 Symbol 索引替换 . : x.y.z 替换成 x[:y][:z]


#3

还是不行,报错:ERROR: LoadError: MethodError: no method matching getindex(::Module, ::Symbol)
就像你写的那样x.y.z,z带参数传导,
改成 x[:y]:z] 或者x[:y][:z(parameter)] 都报错。
改成x.y[:z(parameter)], 报错:ERROR: LoadError: MethodError: objects of type Symbol are not callable

最后改成x.y:z successfully!!