Я работаю над интеграцией Python со средой выполнения C#/.NET с помощью pythonnet, но постоянно сталкиваюсь с ошибкой импорта модуля с помощью win32api
. Сообщение об ошибке: «Нет модуля с именем «win32api». Я уже предпринял несколько действий по устранению неполадок, но не решил проблему.
venv\Lib\site-packages\pywin32_system32
к переменным PYTHONPATH
и PATH
.Эти пути включают расположение двух важных DLL, но это не устранило ошибку. Дополнительные пути, добавленные в системную среду, включают venv\Lib\site-packages
и Python\Python310\DLLs
.
@filmor упомянул, что настройки PATH и PYTHONPATH верны. Однако я не могу выяснить, какие конкретные пути необходимы для правильной работы pywin32 в этом контексте, поскольку другие модули, такие как numpy в venv, работают правильно.
Существуют ли определенные каталоги, библиотеки DLL или даже другие файлы, которые должны быть включены в PATH или PYTHONPATH, чтобы pywin32 распознавался Pythonnet?
Цель состоит в том, чтобы запустить TensorRT, у которого где-то глубоко внутри есть импорт win32api. Любые идеи или предложения будут с благодарностью приняты. Спасибо!
Редактировать:
Я также запустил сценарий pywin32_postinstall.py
от имени администратора, и две библиотеки DLL находятся в Sytemem32. Поскольку простой тестовый сценарий хорошо работает с Python в Powershell, я думаю, что с pythonnet
есть особая проблема. У кого-нибудь есть идеи?
venv\Lib\site-packages\pywin32_system32
в C:\Windows\System32
.или Запуск от имени администратора
$ python .\venv\Scripts\pywin32_postinstall.py -install
venv\Lib\site-packages\win32
venv\Lib\site-packages\win32\lib
venv\Lib\site-packages\Pythonwin
чтобы PYTHONPATH
Это работает! Большое спасибо за обновление вашего ответа после моего предыдущего комментария. Несколько дней пытался решить эту проблему... Круто!