ImportError: нет модуля с именем wpf (только в среде Revit) - пользовательский интерфейс

Я могу сделать простой рабочий интерфейс на VS, запущенный с помощью интерпретатора ipy, но когда я пытаюсь запустить его в среде Revit (оболочка или макрос revit python), я получаю следующую ошибку: ImportError: Нет модуля с именем wpf

wpf - это встроенный модуль, поэтому я не думаю, что я забыл какую-либо ссылку или pythonpath.

Я проверил оба sys.version (идея из поста на stackru): импорт sys печать sys.version

и получил тот же результат на revitpythonshell и консоли Ironpython: 2.7.4 (IronPython 2.7.4 (2.7.0.40) в.NET 4.0.30319.18444 (64-разрядная версия)) un2.7.4 (IronPython 2.7.4 (2.7.0.40) в.NET 4.0.30319.18444 (64-разрядная версия))

Любая идея?

1 ответ

Решение

Интересно... это может быть связано с путями поиска? Я попытался сделать это в консоли Ironpython:

import wpf
wpf.__file__

но не получил результата, поэтому я проверил файловую систему на наличие других мест, откуда мог прийти модуль. Итак, я сделал это:

  • Добавьте путь поиска в: "C:\Program Files (x86)\IronPython 2.7\Platforms\Net40" (или где бы то ни было в вашей системе)
  • Затем сделайте:

    импорт clr clr.AddReference('IronPython.Wpf') импорт wpf

На моей машине это работает. Конечно, это означает, что вам нужно установить IronPython в вашей системе - RevitPythonShell поставляется с версией IronPython, но содержит только основные библиотеки.

Другие вопросы по тегам