You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Py.Import导入Python模块触发Python.Runtime.PythonException错误排查

问题原因及解决方法

问题根源

Py.Import() 需要传入模块名(即.py文件名去掉后缀),而非文件的绝对路径。Python的模块查找机制依赖sys.path列表内的目录,直接传入路径会被当成模块名,自然找不到对应模块。

解决步骤

  1. 将Python脚本所在目录添加到Python搜索路径:修改Python的sys.path,让解释器能定位到你的test.py文件。
  2. 使用模块名导入:导入时只需传入test(你的脚本文件是test.py)。

修改后的代码示例

Runtime.PythonDLL = @".......\python311.dll";
PythonEngine.Initialize();
using (Py.GIL())
{
    // 获取Python的sys模块
    dynamic sys = Py.Import("sys");
    // 将脚本所在目录添加到sys.path
    sys.path.append(@"E:/testingPython/InC");

    // 直接导入模块名test
    dynamic notebook = Py.Import("test");

    // 调用目标方法
    dynamic result = notebook.consume_Testing("");

    Console.WriteLine(result);
}

额外注意事项

  • 确认E:/testingPython/InC目录下确实存在test.py文件,且文件名无拼写错误(Python对文件名大小写敏感,Test.py和test.py会被视为不同模块)。
  • 若脚本依赖第三方库,需确保这些库已安装在python311.dll对应的Python环境中。

内容的提问来源于stack exchange,提问作者user19927732

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:14:49