Возникла исключительная ситуация: сбой загрузки DLL ImportError при импорте QtWidgets:% 1 не является допустимым приложением Win32 - PullRequest
1 голос
/ 02 февраля 2020

У меня есть два компьютера, на которых работает Windows 10 64 бит, и я установил Python 3.8.1 на обоих компьютерах вместе с кодом Microsoft Visual Studio. Странно то, что я сталкиваюсь с проблемой импорта PyQt5 только на одном из компьютеров, в то время как другой может нормально импортировать.

В P C, с которым я столкнулся, я создал каталог проекта вместе с настройкой виртуальной среды, выполнив

virtualenv env

После этого я активировал свой virtualenv

.\env.\Scripts\activate

Затем я установил PyQt5 == 5.14.1 и сделал простой скрипт

from PyQt5 import QtWidgets

При выполнении этого скрипта я получаю следующую ошибку

Exception has occurred: ImportError
DLL load failed while importing QtWidgets: %1 is not a valid Win32 application.
File "C:\Python\POS\test2.py", line 1, in <module>
from PyQt5 import QtWidgets

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

1) Запуск кода Visual Studio с правами администратора 2) Попробуйте запустить сценарий test2.py с помощью cmd

Из поиска в Интернете кажется, что эта ошибка может быть связана с использованием различных архитектур Python и PyQt5, но я не знаю, как устранить неполадки в дальнейшем. Я проверил, что мой Python 3.8.1 является 32-битным, и я предполагаю, что установка pip автоматически найдет нужный мне пакет, когда я выполню

pip install PyQt5 

, так что он также должен быть 32-битным? Больше всего меня озадачивает, что другой P C работал нормально, и настройка как для установки Python, так и для настройки виртуальной среды одинакова.

1 Ответ

0 голосов
/ 02 февраля 2020

В моем случае я решил эту проблему путем понижения PyQt5

pip install PyQt5==5.13

Однако до сих пор не уверен, почему эта проблема возникла на одном из моих компьютеров Windows 10, а на другом - с точно таким же Python установка и установка кода Visual Studio.

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