Какая разница? Ошибка загрузки DLL:% 1 не является допустимым приложением Win32, и загрузка DLL завершилась неудачно: не удалось найти указанный модуль - PullRequest
1 голос
/ 05 августа 2020

Я столкнулся с обеими проблемами в эти дни при работе с Python и файлами DLL. В чем разница между этими двумя ошибками ImportErrors?

1 Ответ

0 голосов
/ 05 августа 2020

Из своего исследования я выяснил часть ответов на этот вопрос.

Первый, DLL load failed: %1 is not a valid Win32 application, вероятно, связан с смешиванием 64-битной и 32-битной версий. Насколько я понимаю, если я запускаю код, скомпилированный в Python 2 в Python 3, проблема возникнет. Решением этой проблемы является использование согласованной битовой версии.

Другая, DLL load failed: The specified module could not be found, вероятно, вызвана:

(1) Несогласованная версия компиляции: код компилируется с компилятор (или версия компилятора) отличается от двоичного файла, из которого состоит соответствующий модуль Python ( ссылка ). В моем случае мой код был скомпилирован в Python 3.4, и ошибка возникла, когда я импортировал модуль в Python 3.6.

(2) Путь к файлу неверно настроен ( ссылка )

(3) Некоторые файлы или «зависимости» отсутствуют ( ссылка ). Например, в некоторых случаях необходимо установить Visual C ++ Redistributable для Visual Studio 2015.

Пожалуйста, оставьте свой отзыв, если я ошибался, или ответ можно улучшить. Спасибо!

...