OSError: [WinError 193] %1 не является допустимым приложением Win32 - при попытке импорта numpy

Я могу установить numpy или pandas, но я не могу импортировать их в cmd, блокнот jupyter или возвышенный текст. (Однако я могу установить и импортировать их в Pycharm).

Я уже искал разные форумы /stackru в поисках ответа, но наиболее распространенные причины, такие как несоответствие архитектуры (я использую 32-битный Python) или пробелы в путях, как представляется, здесь не проблема. Я попытался переустановить Python, но это не решило проблему.

Ошибка всегда указывает на lib "ctypes", и, похоже, это проблема именно с модулем numpy. Когда я пытаюсь импортировать pandas/matplotlib, происходит сбой при импорте numpy.

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\core\__init__.py", line 23, in <module>
    WinDLL(os.path.abspath(filename))
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application

>>> help('numpy')
problem in numpy - OSError: [WinError 193] %1 is not a valid Win32 application 

>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\__init__.py", line 13, in <module>
    __import__(dependency)
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\core\__init__.py", line 23, in <module>
    WinDLL(os.path.abspath(filename))
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application

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

1 ответ

Итак, в конечном итоге это помогло мне:

  1. Я удалил только numpy модуль с "pip uninstall numpy",

  2. Я переустановил его еще раз с "pip install numpy",

  3. Я запустил python, импортировав только одну функцию из numpy (поскольку я думал, что, возможно, не все функции импортируются, не всю numpy) - "из массива импорта numpy"

  4. Функция сработала, поэтому я попытался снова импортировать весь numpy, и на этот раз все прошло без OSError.

Вы можете попробовать это, я решил свою проблему после обновления пакета.

pip install --upgrade numpy

если ничего не изменилось, вы можете сначала обновить pip, чем обновить numpy.

python -m pip install --upgrade pip 

(если вы хотите обновить все пакеты, перейдите на эту страницу : Как обновить все пакеты Python с помощью pip?)

Или проверьте, подходит ли версия Python для вашей среды. Убедитесь, что вы полностью удалили старую версию после переустановки новой.

Я использую PyCharm, чтобы изучить инструмент виртуализации PipEnv (он использует хеширование SHA256 для загруженных пакетов), и у меня возникло такое же точное сообщение об ошибке (ошибка 193, %1 не является допустимым win32 или что-то еще). Я понимаю, что это не совсем ваш сценарий, однако вы используете python и PyCharm, поэтому я полагаю, что это может и может помочь другим, кто сюда приедет. В любом случае...

Я решил это следующим образом: 1.) в окне "Добавить интерпретатор Python" (первая настройка интерпретатора виртуализации) мне пришлось поместить "C:\Users\ericm\AppData\Roaming\Python\Python38\Scripts\pipenv"..exe "в качестве моего" исполняемого файла Pipenv ". (После этого я начал получать ошибку разрешения при попытке использовать его) 2.) Мне пришлось добавить путь к моему проекту в" Рабочий каталог "(например, C:\Users\ericm\OneDrive\Documents\Programming\Python\NameOfProject)

Больше никаких ошибок, и мое приложение снова полностью работает.

Переустановка numpy у меня не сработала.

У меня была такая же проблема, и я заметил несколько путей, указывающих на numpy в сообщении об ошибке. Например

C:\Users\USERNAME\AppData\Roaming\Python\Python37\*
C:\Users\USERNAME\AppData\Local\Programs\Python\Python37-32\*

Я удалил C:\Users\USERNAME\AppData\Roaming\Python\Python37\*папка, потому что она была оставлена ​​предыдущим Python, который я удалил. Я бы не рекомендовал удалять что-либо, пока вы не будете уверены, что не сломаете другие вещи, поэтому, возможно, отправьте его в корзину и восстановите, если это не решит проблему для вас.

Другие вопросы по тегам