Ноутбук с Windows 10
Python 3.13.5 x64
pywin32 311
Я установил pywin32 с помощью:
py -m pip install --user --no-cache-dir pywin32
Загрузки:
pywin32-311-cp313-cp313-win_amd64.whl
Подробности о Python:
py -c "import sys, platform; print(sys.executable); print(sys.version); print(platform.architecture())"
Выход:
C:\Program Files\Python313\python.exe
3.13.5 ... [MSC v.1943 64 bit (AMD64)]
('64bit', 'WindowsPE')
Модуль найден:
py -c "import importlib.util; s=importlib.util.find_spec('_win32sysloader'); print(s.origin)"
Выход:
C:\Users\pauvi\AppData\Roaming\Python\Python313\site-packages\win32\_win32sysloader.pyd
Но импортировать его не удается:
py -c "import _win32sysloader"
Выход:
ImportError: dynamic module does not define module export function (PyInit__win32sysloader)
Я также сравнил установленный файл с файлом, извлеченным непосредственно из колеса:
certutil -hashfile C:\Users\pauvi\AppData\Roaming\Python\Python313\site-packages\win32\_win32sysloader.pyd SHA256
и:
certutil -hashfile %TEMP%\pywin32wheel\win32\_win32sysloader.pyd SHA256
Оба хеша идентичны:
b11b641fc73ab5cc8853e0e7384147ee97056a2508927129dc385237e5a70b3a
Размер файла составляет 14 848 байт в обоих местах.
Поэтому это не похоже на повреждение кэша pip или защиту конечной точки, изменяющую установленный файл после установки.
Что мне следует проверить дальше? Известна ли это проблема с pywin32 311 и Python 3.13.5 или есть другой способ диагностировать, почему pyd не экспортирует PyInit__win32sysloader?
C:\>py -c "import sys, platform, importlib.util; print(sys.executable); print(sys.version); print(platform.architecture()); s=importlib.util.find_spec('_win32sysloader'); print(s.origin); import _win32sysloader"
C:\Program Files\Python313\python.exe
3.13.5 (tags/v3.13.5:6cb20a2, Jun 11 2025, 16:15:46) [MSC v.1943 64 bit (AMD64)]
('64bit', 'WindowsPE')
C:\Users\pauvi\AppData\Roaming\Python\Python313\site-packages\win32\_win32sysloader.pyd
Traceback (most recent call last):
File "", line 1, in
import sys, platform, importlib.util; print(sys.executable); print(sys.version); print(platform.architecture()); s=importlib.util.find_spec('_win32sysloader'); print(s.origin); import _win32sysloader
^^^^^^^^^^^^^^^^^^^^^^
ImportError: dynamic module does not define module export function (PyInit__win32sysloader)