Ошибка загрузки dll Importerror при импорте указанной процедуры win32api не найдена

Обновлено: 21.11.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похоже, в программе установки возникла ошибка. Рекомендуемый обходной путь в заявке тот же, что и предложенный Дэйвом Бремером.

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

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

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

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

Сначала я использовал pip для установки pywin32 в среде anaconda, поэтому, что бы я ни делал, ничего не получалось. После проб и ошибок я понял, что conda install pywin32 — правильный способ установить pywin32 в диспетчере пакетов anaconda.

Я настраиваю автокликер в Python 3.8, и мне нужен win32api для GetAsyncKeyState, но он всегда выдает эту ошибку:

У меня Windows 10 Домашняя 64x. я уже пробовал

И он успешно устанавливается, но ничего не меняется. Я также попытался удалить и переустановить python. Я также пытался установить 'django' таким же образом, и он действительно работает, когда я импортирую django , поэтому я думаю, что это проблема только win32api.

Я ожидаю, что на выходе ничего не будет, но на самом деле это всегда ошибка ^^

Убедитесь, что у вас нет конфликта зависимостей! Я установил pywin32 через pip, и он конфликтовал с моей установкой Conda.

23 ответа 23

Решено

Если вы работаете в среде miniconda в среде conda. Вы можете просто установить pywin32, используя conda вместо pip.

Это решило мою проблему:

Мне пришлось установить его в заданной среде conda (а не в той, из которой я запускаю блокнот jupyter). Тем не менее, это работает!

Мы проведем праздник в твое имя! Вин 10 64-битная. Часы потрачены впустую. но благодаря этому проблема решена. conda install pywin32 в моей активированной среде не повлияла на system32 и избавила от необходимости запускать постустановочный скрипт, который не удался, потому что DLL wintypes не была найдена.Не должно быть возможности войти в это нелепое состояние (я не знаю, как это произошло), и не должно требоваться столько усилий, чтобы выбраться из него. Но спасибо, спасибо, спасибо.

В моем случае установка и переустановка pywin32 не помогает. После копирования двух файлов из [каталог установки Anaconda]\Lib\site-packages\pywin32_system32 в C:\Windows\System32 все работает.

Моей средой является python 3.8 в miniconda. Это два файла: pythoncom38.dll и pywintypes38.dll .

Та же проблема в Python 3.8. Решение работает, но мне пришлось взять файлы из папки Lib моей виртуальной среды

Эта информация помогла, но размещение сторонних файлов в C:\Windows\System32 — это путь к проблемам в будущем. Подумайте, например, что произойдет, если pywin32 обновит DLL, и вы не скопируете их снова в C:\Windows\System32 после обновления pip. Вы получите несовместимую систему. Кроме того, все программы компьютера будут «видеть» эти библиотеки DLL. Вам лучше установить PATH по мере необходимости.

Мне помогло понижение версии pywin32 с версии 227 до версии 224. Просто введите следующую команду в любой оболочке в режиме администратора:

Я получаю эту ошибку в Python3.8: Не удалось найти версию, удовлетворяющую требованию pywin32==224 (из версий: 225, 226, 227, 228)

Вы не должны активировать базовую среду, только ту среду, которую хотите использовать. Мне помогло понижение с 228 до 225. pip install --upgrade pywin32==225 сработало

По состоянию на ноябрь 2021 г. pip install --upgrade pywin32==300 работает, версии pwin32 301, 302 не работают! [Члены сообщества SO должны получать оплату за свои услуги QA :)]

Запустить Scripts\pywin32_postinstall.py -install в командной строке администратора

изменить: пользователь @JoyfulPanda сделал предупреждение:

Запуск этого скрипта с правами администратора также скопирует pythoncom37.dll, pywintypes37.dll (соответствующую версии pywin32) в C:\WINDOWS\system32 , что эффективно перезапишет уже имеющиеся соответствующие версии DLL из Anaconda. Позже это вызывает проблему при открытии (в Windows) «Меню «Пуск»> Anaconda3 (64-разрядная версия)> Anaconda Prompt (a_virtual_env_name)». По крайней мере, в Anaconda 2019.07 по умолчанию установлен pywin32 223. Pywin32 224 может работать, но 225-228 вызывает проблемы с Anaconda (2019.07)

Чтобы запустить pywin32_postinstall.py, вам нужно python pywin32_postinstall.py -install , иначе вы получите ошибку импорта о winreg

Запуск этого скрипта с правами администратора также скопирует pythoncom37.dll , pywintypes37.dll (соответствующую версии pywin32) в `C:\WINDOWS\system32`, что эффективно перезапишет уже существующие соответствующие версии DLL из Anaconda. Позже это вызывает проблему при открытии (в Windows) «Меню «Пуск»> Anaconda3 (64-разрядная версия)> Anaconda Prompt (a_virtual_env_name)». По крайней мере, в Anaconda 2019.07 по умолчанию установлен pywin32 223. Pywin32 224 может работать, но 225-228 вызывает проблемы с Anaconda (2019.07).

conda install pywin32 работал у меня. Я использую дистрибутив conda, а моя виртуальная среда использует Python 3.8

Это происходит, когда Lib\site-packages\pywin32_system32 отсутствует в списке каталогов для поиска DLL (переменная среды PATH).

pywin32 (или одна из его зависимостей) добавляет этот путь во время выполнения в переменную PATH. Если это не удается или другой компонент переопределяет PATH после того, как он был установлен pywin32, вы получите указанную ошибку (ImportError: Ошибка загрузки DLL при импорте win32api).

Вы можете попробовать расширить переменную PATH в оболочке перед запуском Python.

Если это не сработает, PATH может быть переопределен в программе Python во время выполнения. Добавьте следующую строку в свою программу непосредственно перед использованием pywin32 для проверки ее значения:

В крайнем случае вы можете расширить переменную PATH перед загрузкой pywin32:

Как исправить ошибку загрузки DLL ImportError при импорте win32api. Не удалось найти указанный модуль?

Если это не удается или другой компонент переопределяет PATH после того, как он был установлен pywin32, вы получите указанную ошибку (ImportError: Ошибка загрузки DLL при импорте win32api). Вы можете попробовать расширить переменную PATH в оболочке перед запуском Python.

Что значит не удалось найти указанный модуль?

Как и большинство ошибок Windows, эта может быть вызвана целым рядом причин, включая вирусную атаку или повреждение системных файлов.The reason for “The specified module could not be found” error to arise is very simple: RunDLL is a legitimate Windows component that is used to launch .

Is StartupCheckLibrary DLL important?

Description: StartupCheckLibrary. dll is not essential for Windows and will often cause problems. StartupCheckLibrary. dll is located in the C:\Windows\System32 folder.

How to fix unable to load DLL / error loading DLL?

Here are some common error loading DLL messages: 1 The dynamic library filename.dll failed to load. 2 Steam – Fatal Error: Failed to load staemui.dll. 3 Intel Optane Memory Pinning Unable to Load DLL. 4 Error loading dumcp.dll. The specified module could not be found. 5 Error loading D:WINDOWScfdhtc.dll. Access is denied. 6 And more…

What causes Win32 importerror : DLL load failed?

ImportError: DLL load failed: %1 is not a valid Win32 application. This comment has been minimized. The cause of this error seems to be people installing Python without Tcl/Tk support not realizing that Tcl is necessary for SWIG and module imports.

What’s the best way to fix.dll errors?

Step 1: Try uninstalling and reinstalling the game and check. Most of the .dll errors are fixed by reinstalling the program. Step 2: I would suggest you to run System File Checker tool (SFC.exe) and check if it helps. The System File Checker tool (SFC.exe) scans for missing or corrupted system files and repairs them.

What happens if a DLL is already in memory?

If a DLL with the same module name is already loaded in memory, the system uses the loaded DLL, no matter which directory it is in. The system does not search for the DLL.

EuropeanSheik 于 2021-09-13 10:48:24 发布 106 收藏 1

ImportError: DLL load failed while importing win32api: 找不到指定的程序。

12-30 795

09-21 1万+

机子和环境 Miniconda,VScode,环境:python37 出现问题 在Miniconda终端安装好numpy后在VScode那边import失败,如下图 解决办法 用condabase环境安装numpy,在vscode那边也切换到base空间就行了 不要用那个自己创建环境 成功如下图: .

07-25 4235

11-15 9389

问题说明 在使用Anaconda虚拟环境时候经常会出现DLL加载失败报错 解决方法 需要在Pycharm执行配置中添加一行配置: CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1 配置方法如下图: 点击OK后 留个记录,帮自己也是帮助别人 .

03-06 1万+

04-30 1万+

04-08 4675

前几天小白在进行数据处理时,队友遇到一个问题,我们用到了pandas和numpy,但是无论怎么下载类库都显示如下错误: ImportError: DLL load failed while importing mtrand:不到指定程序 小白百度了半天,试了好多方法,愣是没到解决方法,但是只到了 无奈之下就打算重新安装python,当安装成功之后再次运行代码时,代码竟然运行通过 所以小白在想,可能是队友误删了某个ddl文件,导致运行代码时无法引用类库 .

05-30 2906

Читайте также: