【问题标题】:Python for .Net Error: ImportError: No module namedPython for .Net 错误:ImportError: No module named
【发布时间】:2015-02-27 18:42:10
【问题描述】:

我们正在使用 Python for .Net 从 Python 脚本调用使用 C# 构建的 .NET API。 我们收到 ImportError: No module named - 导入完成时出错,如下所示。

Python 脚本:

import sys
sys.path.append(r"C:\myfolderA\myfolderB")
print sys.path
import clr
clr.FindAssembly(r"AA.BB.CC")
clr.AddReference(r"AA.BB.CC")
from AA.BB.CC.Api.DDInterface import DDClient

在上面一行我收到以下错误

Traceback (most recent call last):
  File "C:\myfolderA\myfolderB\testAPI.py", line 7, in <module>
    from AA.BB.CC.Api.DDInterface import DDClient
ImportError: No module named AA.BB.CC.Api.DDInterface

没有其他信息可用于准确识别问题。 来自同一项目的 15 天前构建的 Dll 可以正常工作。 这个项目可能在这期间经历了一些变化。

如何准确识别这个问题?

这可能是依赖问题吗? 我尝试用 JustDecompile 比较旧的 dll 和新的 dll,但找不到任何异常。

非常感谢您的帮助。

谢谢,

【问题讨论】:

    标签: python .net dll assemblies python.net


    【解决方案1】:

    在 python 论坛的帮助下,我能够使用 Microsoft 的 Fuslogvw.exe(程序集绑定日志查看器)并找出导致错误的依赖 dll。

    谢谢

    【讨论】:

      【解决方案2】:

      这是我原始答案的链接:

      https://mail.python.org/pipermail/pythondotnet/2014-December/001626.html

      我建议使用 Assembly Binding Log Viewer (fuslogvw.exe) 对应的.NET框架查看加载程序集的日志文件。

      将日志位置设置为自定义并在设置中指向您的程序集文件夹。 日志应显示加载的 DLL 序列和任何错误。

      这对我有用,请看这里:

      Could not load file or assembly or one of its dependencies

      Can't locate fuslogvw.exe on my machine

      【讨论】:

        猜你喜欢
        • 2012-12-21
        • 2015-04-30
        • 2015-09-10
        • 2012-11-22
        • 2011-04-08
        • 2016-08-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多