Я хочу скомпилировать приложение на основе WPF на IronPython в файл.exe. Я просмотрел сеть решений и нашел это на SO:
Компиляция проекта WPF IronPython для exe.
Я нашел этот модифицированный файл pyc.py лучше оригинала, так как мне не нужно передавать имена всех файлов проекта в pyc в командной строке. Когда я запускаю это, я получаю dll и исполняемый файл. Я также включил другие DLL файлы, упомянутые в приведенном выше обсуждении, например IronPython.dll. Есть всего лишь одна проблема. В верхней части моего основного файла есть следующее:
import wpf
from System.Windows import MessageBox, Application, Window
Приложение отлично работает на VS2010, но исполняемый файл, похоже, не может найти какую-либо dll с именем wpf или Window. У меня есть этот файл IronPython.Wpf.dll, который я включил в папку, но это не работает. Что мне здесь не хватает? Или есть другой способ решить мою проблему?
Вы должны добавить
import clr
clr.AddReference('IronPython.Wpf')
И убедитесь, что вы поместите IronPython.Wpf.dll
из каталога установки IronPython в том же каталоге, что и ваш основной скрипт.
Я все еще получаю исключение, связанное с потоками STA, но это для другого вопроса.
Редактировать: Посмотрите на это за ошибки STA