Python для .Net Ошибка: ImportError: нет модуля с именем

Мы используем Python для .Net для вызова .NET API, созданного с использованием C #, из скрипта Python. Мы получаем 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

Другой информации, позволяющей точно определить проблему, нет. Dll из того же проекта, построенного 15 дней назад, работают нормально. Этот проект, возможно, претерпел несколько изменений между ними.

Как точно определить эту проблему?

Может ли это быть проблемой зависимости? Я попробовал JustDecompile для сравнения старых и новых dll, но не нашел ничего необычного.

Ваша помощь очень ценится.

Спасибо,


person DotWish    schedule 31.12.2014    source источник


Ответы (2)


С помощью форума python я смог использовать Microsoft Fuslogvw.exe (средство просмотра журнала привязки сборки) и выяснить зависимую dll, вызывающую ошибку.

Спасибо

person DotWish    schedule 02.01.2015

Вот ссылка на мой исходный ответ:

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

Я рекомендую использовать средство просмотра журнала привязки сборок (fuslogvw.exe) для соответствующей платформы .NET, чтобы просматривать файлы журнала загрузки сборок.

Установите «Местоположение журнала» как «Пользовательское» и в разделе «Настройки» укажите папку со сборками. Журнал должен отображать последовательность загружаемых DLL и любые ошибки.

Это сработало для меня, см. Здесь:

Не удалось загрузить файл или сборку или одну из ее зависимости

Не могу найти fuslogvw.exe на моем компьютере

person denfromufa    schedule 11.01.2015