Используйте .NET dll в Python

Я разработал dll в визуальной студии, которую теперь хотел бы использовать в Python, используя стандартный IDLE.

Кажется, я нигде не могу найти прямого решения для этого. Я пытался использовать pip install *dll location*, но безуспешно (надежды никогда не были большими).

Я в значительной степени был исключительно разработчиком .NET, поэтому мои знания python довольно плохи. Должен быть какой-то способ установить сторонние пакеты dll.


person Stinkidog    schedule 14.12.2015    source источник
comment
@stuartd Это похоже на то, что мне нужно, спасибо. Хотя, когда я перехожу к .AddReference('c:/*path to dll*), мне выдает ошибку, что невозможно найти сборку   -  person Stinkidog    schedule 14.12.2015
comment
Убедитесь, что вы используете необработанную строку, например r"C:\folder1\test1.dll", или двойную обратную косую черту "C:\\folder1\\test1.dll".   -  person Vasily Ryabov    schedule 14.12.2015


Ответы (1)


Так же, как простой и простой ответ для других, который я изо всех сил пытался найти.

Расположение dll необходимо добавить в переменную пути. Это можно сделать, просто импортировав sys и вызвав показанный метод (путь не должен включать файл dll).

Затем вы можете использовать свою dll с Python для .NET (impot clr), настроив ссылку с помощью метода AddReference. Тогда ваша dll готова к работе! Пример:

import sys
import clr

sys.path.append(r"C:\Users\...")

clr.AddReference("MyDll")

from mynamespace import myclass

x = myclass()
person Stinkidog    schedule 14.12.2015
comment
Откуда clr? я получаю AttributeError: module 'clr' has no attribute 'AddReference' - person Sören; 20.01.2021
comment
@Sören Вероятно, python.NET (pip install pythonnet) - person musava_ribica; 04.04.2021
comment
Это было отличное начало. Я застрял, не зная, что делать после x = myclass(). - person Vishal; 07.07.2021