是否可以使用IronPython执行相对导入的Python脚本?

时间:2019-12-11 09:18:27

标签: c# python .net ironpython

是否可以使用允许相对导入的IronPython执行Python 2脚本?如果没有,为什么有技术原因?

我收到此错误:

Error: Attempted relative import in non-package
Traceback (most recent call last):
  File "G:\test\test.py", line 1, in <module>
ValueError: Attempted relative import in non-package

这是预料之中的,因为通常需要使用python -m test.test来执行。是否可以使用IronPython复制-m或作为模块执行?

代码信息

用于执行Python脚本的C#代码:

var scriptEngine = Python.CreateEngine();
var scope = scriptEngine.CreateScope();
var scriptSource = scriptEngine.CreateScriptSourceFromFile(@"G:\test\test.py");
scriptSource.execute(scope);

test.py:

from . import utils
utils.helloWorld()

文件夹结构:

G:\
 |- test
     |- __init__.py
     |- utils.py
     |- test.py

0 个答案:

没有答案