2014-12-20 1 views
0

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

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

Я проверил как sys.version (идею с постом на StackOverflow): импорт 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 \ Платформы \ Net40" (или где-то есть в вашей системе)
  • Затем сделать:

    импорт CLR clr.AddReference ('IronPython.Wpf') импорт МОФ

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

+0

Я не понимаю, почему это необходимо в среде Revit, а не в стандартной консоли ipy, но это сработало. Ты снова спас меня Дарен. Я пробовал wpf .__ file__ и не получил никакого результата. Я пробовал с: импорт проверить inspect.getfile (wpf) , и он сказал, что wpf является встроенным модулем, поэтому я думал, что он не имеет никакого отношения к пути поиска. Еще раз спасибо (я свяжусь с вами в группе rps) –

+0

Итак, на том же тему, что и этот [пост] (http://stackoverflow.com/questions/32013933/ironpython-wpf-withe-revitpythonshell) 'clr .AddReference ('IronPython.Wpf') import wpf' дает мне ошибку, что 'wpf' не существует. Однако существует 'Wpf' с капиталом' W', который я импортирую как 'wpf'. Но тогда он все еще говорит мне, что для функции 'LoadComponent()' должно быть 3 аргумента. –