![](/img/trans.png)
[英]Azure - numpy - OSError: [WinError 193] %1 is not a valid Win32 application
[英]OSError: [WinError 193] %1 is not a valid Win32 application - when trying to import numpy
我可以安裝 numpy 或 pandas,但我無法在 cmd、jupyter notebook 或 sublime text 中導入它們。 (但是,我可以在 Pycharm 中安裝和導入它們)。
我已經搜索了不同的論壇/stackoverflow,尋找答案,但最常見的原因如架構不匹配(我使用 Python 32 位)或路徑中的空格似乎不是這里的問題。 我試過重新安裝 Python,但它沒有解決問題。
該錯誤總是在“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
我知道人們以前有過這個錯誤,但是,正如我所提到的,這似乎不是架構不匹配問題,路徑中沒有空格,我真的堅持下去了。 任何有關如何解決它的建議將不勝感激。
好的,所以這最終幫助了我:
我只卸載了一個帶有“pip uninstall numpy”的numpy模塊,
我用“pip install numpy”再次重新安裝了它,
我運行了 python,從 numpy 中只導入了一個函數(因為我認為可能只有一些函數無法導入,而不是整個 numpy)-“從 numpy 導入數組”
該函數起作用了,所以我嘗試再次導入整個 numpy,這次它成功了,沒有 OSError。
你可以試試這個,我在更新包后解決了我的問題。
pip install --upgrade numpy
如果沒有任何變化,您可以先升級pip,而不是升級numpy。
python -m pip install --upgrade pip
(如果你想更新所有包,請參考這個頁面: 如何用pip升級所有Python包? )
或者檢查 python 版本是否適合您的環境。 重新安裝新版本后,請確保完全刪除舊版本。
重新安裝 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 留下的。 我不建議刪除任何東西,直到你確定你不會破壞其他東西,所以如果它不能為你解決問題,可以將它發送到回收站並恢復。
我正在使用 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)
不再有任何類型的錯誤,我的應用程序又可以正常工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.