簡體   English   中英

OSError: [WinError 193] %1 不是有效的 Win32 應用程序 - 嘗試導入 numpy 時

[英]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

我知道人們以前有過這個錯誤,但是,正如我所提到的,這似乎不是架構不匹配問題,路徑中沒有空格,我真的堅持下去了。 任何有關如何解決它的建議將不勝感激。

好的,所以這最終幫助了我:

  1. 我只卸載了一個帶有“pip uninstall numpy”的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 

(如果你想更新所有包,請參考這個頁面: 如何用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM