2010-10-18 4 views
3

Я пытаюсь использовать модуль win32gui, включенный в pywin32, но я не могу заставить его работать.Не удается загрузить библиотеку pywin32 win32gui

Я загрузил его, построил его, и все, кажется, расположено под сайтом-пакетами, я нашел win32gui.pyd на сайтах-пакетах/win32/win32gui.pyd, но когда я пытаюсь импортировать его, я получаю:

import pyHook, win32gui 
ImportError: DLL load failed: The specified module could not be found. 

Нужно ли мне перемещать dll где-нибудь? и если да, то какой?

ответ

2

Я предполагаю, что win32gui зависит от некоторой DLL, которая не находится в вашей системе. Вы можете скачать depends и посмотреть, что вам не хватает.

Однако моя первая попытка будет пытаться установить pywin32 у установщика, а не путем его создания.

+0

Ну, недостающая DLL была достаточно очевидна: p просто не был уверен, в каком из них :) зависит решена проблема, теперь она работает нормально. Спасибо за подсказку :) – dutt

3

Я пытался только «скопировать» пакет pywin32 один раз вместо его установки, и он работает хорошо.

то, что я сделал это:

  1. копии по всем связанным пакетам сайта-pakcages папки
  2. Копировать pythoncom25.dll & pywintypes25.dll в C: \ WINDOWS \ system32 (вы, возможно, необходимо изменить до версии & системы путь)

Надеется, что это помогает

+0

Копирование этих двух файлов помогло (они находятся в папке установки python). – user712092

8

Это работает:

import pywintypes 
#import pythoncom # Uncomment this if some other DLL load will fail 
import win32gui 
+0

Я не думаю, что это именно то, о чем просил вопрос, но он исправил мою проблему. У меня был установлен win32gui в моей системе, но он пытался собрать все с помощью cx_freeze. Просто включение win32gui работало локально, но не в других системах, в том числе pywintypes принудительно cx_freeze, чтобы включить правильную DLL. – orh

+0

Это указывало мне в правильном направлении; чтобы получить pywintypes для импорта, мне пришлось копировать DLL в моем virtualenv из 'Lib \ site-packages \ pywin32_system32' в' Lib \ site-packages \ win32 \ lib' – rakslice

6

У меня была та же проблема. Я добавил путь, где pywintypes34.dll к системному пути, и он сработал.

В моем случае это был C: \ Python34 \ Lib \ сайт-пакеты \ pywin32_system32

0

Такая же проблема, я установил с sourceforge, а затем я запускаю exe-файл в качестве администратора.

2

Сначала проверьте, установлен ли в вашей системе модуль «pywin32». Если он не установлен, установите его сначала. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32

Если проблема по-прежнему сохраняется, то теперь для/Lib/site-packages/pywin32_system32 и добавьте этот путь в системную библиотеку или добавьте pythoncom35.dll и pywintypes35.dll в каталог, который добавлен к системному пути.

+0

[Вы ранее отправили этот точный ответ на другой вопрос] (https://stackoverflow.com/a/46263587). Пожалуйста, не отправляйте идентичные ответы на несколько вопросов. Выберите лучший вопрос и разместите там один хороший ответ, а затем отметьте, чтобы закрыть другой вопрос (ы) как дубликаты.(Я уже обработал дублирование в этом случае.) Если вопросы не дублируются, вы должны [* адаптировать свои ответы конкретно к каждому вопросу *] (http://meta.exackchange.com/q/104227). –

Смежные вопросы