Pythonnet отсутствует метод AddReference - PullRequest
0 голосов
/ 09 июля 2019

На ПК Win10 1709 x64, установлены Python 3.7.4 64-bit и pythonnet-2.4.0-cp37-cp37m-win_amd64.whl.Подтвержденные clr.pyd и Python.Runtime.dll существуют в:

C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37 \ Lib \ site-packages \

Размещено My.Assembly.dll в:

C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python37 \ DLLs \

ThisСбой сценария:

import clr
clr.AddReference("My.Assembly")

с ошибкой:

AttributeError: модуль 'clr' не имеет атрибута 'AddReference'

Когда я удаляю 2-йстрока, импорт clr завершается успешно, поэтому он находит clr.pyd.

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

astroid == 2.0.4бутылка == 0.12.13certifi == 2018.10.15chardet == 3.0.4Colorama == 0.3.9конан == 1.9.1Устаревшая == 2.0.6Дистрибутив == 1.1.0Крепеж == 0.14.1будущее == 0.16.0IDNA == 2,7isort == 4.3.4ленивым объектно-прокси == 1.3.1МакКейб == 0.6.1монотонна == 1.5Узел-semver == 0.2.0упаковка == 18,0патч == 1,16pluginbase == 0.7Pygments == 2.2.0PyJWT == 1.6.4pylint == 2.1.1Pyparsing == 2.3.0pythonnet == 2.4.0PyYAML == 3,13Запросы == 2.20.1шесть == 1.11.0tqdm == 4.28.1urllib3 == 1.24.1окутан == 1.10.11

1 Ответ

0 голосов
/ 16 июля 2019

Возможно, существует конфликт имен с пакетом стилей для clr , который импортируется из Lib\site-packages\clr\style_builder.py и не содержит AddReference() метода.

Правильный исходный код модуля clr через пакет pythonnet выглядит как this .

Попробуйте pip install pythonnet в новой среде, чтобы убедиться, что нет конфликта пакетов, затем повторите попытку:

import clr
clr.AddReference()

...