Я следую примеру из лучшего ответа здесь, на T, с компиляцией с Pyc.py.IronPython, импортирующие модули
Build Python scripts and call methods from C#
я получаю исключение в pyScope = pyEngine.ImportModule("MyClass");
no module named MyClass
Я считаю, что это ошибка, так как иногда перекомпиляция с Pyc.py будет производить длл ImportModule признает, но в других случаях это не ,
ЗАКЛЮЧЕНИЕ: Как указано ниже, digEmAll, компиляция модулей с Pyc.py для использования таким способом дает случайные результаты. Вместо этого вызовите clr.CompileModules.
Ах, модуль, который должен быть импортирован, все еще берет имя скрипта, из которого была создана сборка, а не сама сборка. Я могу подтвердить, что это правда. –
Спасибо, но это не решило проблему, поскольку фраза «MyClass» не появляется нигде в моем проекте, как что-либо, кроме «MyClass». Я думаю, что комментарий Джеффа М по поводу версий - это мой следующий путь расследования. Какую версию IronPython и .NET вы используете? Хотелось бы услышать от разработчиков об этом. – cory
Попробуйте переименовать .py по-другому, но не MyClass.py. Во всяком случае, я успешно выполнил его как для .NET 2.0/4.0, так и IronPython.dll 2.6.10920.0 – digEmAll