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 ответ
Итак, в конечном итоге это помогло мне:
Я удалил только numpy модуль с "pip uninstall numpy",
Я переустановил его еще раз с "pip install numpy",
Я запустил python, импортировав только одну функцию из numpy (поскольку я думал, что, возможно, не все функции импортируются, не всю numpy) - "из массива импорта numpy"
Функция сработала, поэтому я попытался снова импортировать весь 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, который я удалил. Я бы не рекомендовал удалять что-либо, пока вы не будете уверены, что не сломаете другие вещи, поэтому, возможно, отправьте его в корзину и восстановите, если это не решит проблему для вас.