Распространение информации о типе dll pythonnet в пакете pipPython

Программы на Python
Anonymous
Распространение информации о типе dll pythonnet в пакете pip

Сообщение Anonymous »

Мне удалось загрузить dll C# с помощью pythonnet, используя следующее:

Код: Выделить всё

from importlib.resources import path
import sys

# Assuming 'my_package.lib' is the sub-package containing the DLLs
with path('pyrp.lib', '') as lib_path:
sys.path.append(str(lib_path))

# Now you can import your dependencies as if they were in the same directory
from pythonnet import load
load('coreclr')
import clr

def load_APIStandard():
clr.AddReference("myDLL")
from myDLL import APIStandard

# Return the imported module or any objects you need from it
return APIStandard
и у меня есть информация о типе, созданная с помощью этого инструмента. Одним из примеров является

Код: Выделить всё

#__init__.pyi
from System import Array_1
from myDLL import AnalysisResult

class APIStandard(abc.ABC):
@staticmethod
def AnalyzeData(data: Array_1[int]) -> AnalysisResult: ...
Я могу заставить эту информацию о типе отображаться правильно, если отредактирую файл settings.json

Код: Выделить всё

"python.analysis.extraPaths": [
"./pyrp/lib/PythonTypes" // Add the path to your "types" directory here, adjust the path as necessary
]
но независимо от того, как я упаковываю типы в пакет pip, я не могу заставить интерпретатор найти их изначально. Есть предложения?


Подробнее здесь: https://stackoverflow.com/questions/787 ... ip-package

Вернуться в «Python»