ошибка импорта win32api в Python 2.6 - PullRequest
53 голосов
/ 30 августа 2011

При запуске python26 под ОС Windows (64 бит) ..... У меня есть ошибки вроде:

import win32api" error in Python 2.6: pywintypes26.dll

или

pythoncom26.dll missing
ImportError: DLL load failed: The specified module could not be found.

Я выполнил установку msi для python26 все dll можно найти в C: \ Python26 \ Lib \ site-packages \ pywin32_system32

Ответы [ 10 ]

62 голосов
/ 02 сентября 2011

После того, как я переместил / скопировал pywintypes26.dll и pythoncom26.dll в c: \ Python26 \ Lib \ site-packages \ win32 -> Решить проблему!

33 голосов
/ 05 февраля 2014

Я также столкнулся с проблемой при импорте win32api.

Сбой послеустановочного скрипта для pywin32, который должен копировать pythoncom26.dll, pythoncomloader26.dll и pywintypes26.dll, среди прочего.Я запустил его вручную, и моя установка была исправлена.

python scripts\pywin32_postinstall.py -install
9 голосов
/ 29 ноября 2014

У меня была похожая проблема при установке под 64-битный Python 3.4.2.Я установил исполняемый файл pywin32‑219.win ‑ amd64 ‑ py3.4.exe из http://www.lfd.uci.edu/~gohlke/pythonlibs/.

На сайте четко указано:

«Пользователи Python 3.4 должны вручную запускать python.exe Scripts\pywin32_postinstall.py -install из командной строки с повышенными привилегиями».

, что я не делал в первый раз;Я установил из обычного приглашения, получая следующую обратную связь:

c:\python34>python.exe Scripts\pywin32_postinstall.py -install
Copied pythoncom34.dll to C:\Python34\pythoncom34.dll
Copied pywintypes34.dll to C:\Python34\pywintypes34.dll
You do not have the permissions to install COM objects.
The sample COM objects were not registered.
etc.etc.
Finishing with "The pywin32 extensions were succesfully installed" ... 

Я прочитал только последнее предложение, и я начал запускать некоторый код, в результате которого происходит сбой загрузки DLL.

Итак, сделалнекоторые исследования, и начал повышенное приглашение (как: см. "http://www.sevenforums.com/tutorials/783-elevated-command-prompt.html") и снова запустил:

c:\python34>python.exe Scripts\pywin32_postinstall.py -install
Copied pythoncom34.dll to C:\Windows\system32\pythoncom34.dll
Copied pywintypes34.dll to C:\Windows\system32\pywintypes34.dll
Registered: Python.Interpreter
Registered: Python.Dictionary
Registered: Python
-> Software\Python\PythonCore\3.4\Help[None]=None
-> Software\Python\PythonCore\3.4\Help\Pythonwin Reference[None]='C:\\Python34\\Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.

И теперь мой код работает успешно (насколько это касается ... вздох)и так много других дел).

6 голосов
/ 20 марта 2015

Запустите программу установки от имени администратора, и она заработает:

  • Щелкните правой кнопкой мыши pywin32-installer.exe
  • Выберите «Запуск от имени администратора»
5 голосов
/ 08 февраля 2016

Как предложено выше, сценарий после установки не запускается, эту проблему можно увидеть при установке с колеса (как я столкнулся)

python scripts\pywin32_postinstall.py -install

Если вы обнаружите, что у вас есть эта проблема при установке с помощью колес, то ее установка отсюда может решить вышеуказанную проблему.

https://pypi.python.org/pypi/pypiwin32

1 голос
/ 14 сентября 2017

Не знаю, уже слишком поздно или нет, чтобы ответить на этот вопрос.Я также столкнулся с этой проблемой и попробовал все методы, описанные выше, но ни один из них не сработал.
Наконец-то я нашел причину.Когда мы устанавливаем pywin32 , мы должны выбрать ту, которая соответствует версии python (2.6 , 2.7 , 3.3 , и т. Д.) И битов номера Python (x64 или x86).Обратите внимание, он должен соответствовать битовому номеру питона, а не битовому номеру ПК.Если вы устанавливаете x86 python на x64 ПК, вам нужно установить pywin32 с x86.

1 голос
/ 23 февраля 2017

Если вышеизложенное не устранило проблему, вам все еще не хватает файла msvcr100.dll.Он либо в вашей папке \System32\, либо, скорее всего, в папке c:\PythonXX\Lib\site-packages\win32\.

Это исправило его для меня после нескольких часов поиска, но безрезультатно, хотя импорт все еще не решенкак и должно быть (PyCharm по-прежнему дает мне волнистое подчеркивание), но это работает.

1 голос
/ 27 августа 2014

В установщике, похоже, ошибка .Рекомендуемый обходной путь в билете такой же, как предложенный Дейвом Бремером.

1 голос
/ 30 августа 2011

Я всегда устанавливаю дистрибутив Active State Python, который устанавливает пакеты win32 для вас и делает все правильно.

0 голосов
/ 26 ноября 2014

Я мог бы исправить эту ситуацию, удалив все установленные версии Python3.4 (забыл удалить 3.4.1 перед установкой 3.4.2), удалив C: \ Python34 и после установки Python 3.4.2 pywin32-219.win32-py34 .exe может быть установлен и вызван без проблем. Таким образом, копирование вокруг DLL не должно быть необходимым!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...