是否可以使用允许相对导入的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