簡體   English   中英

ModuleNotFoundError: 沒有名為“gensim”的模塊

[英]ModuleNotFoundError: No module named 'gensim'

我的目標是在 Windows 上的 Python 3 中導入 gensim。

我正在使用 Python 3.7.2(通過在 Windows 命令提示符下運行python -V進行檢查)。 我通過運行pip install gensim 我通過運行pip freeze檢查了安裝,並看到了gensim==3.7.3

然后,我運行命令py進入交互式 python 模式(仍在 Windows 命令提示符下)。 我運行了import gensim並得到以下輸出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'gensim'

我也嘗試過from gensim import test並得到以下輸出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'gensim'

有什么建議? 如何使用 Python 3 在 Windows 上安裝 gensim? 我如何測試gensim?

我想你已經使用普通的cmd安裝了它,所以它可能已經安裝在python2.x上。 使用 anaconda 提示符安裝它。

讓我知道它是否對你有用。

在 Anaconda 中安裝 gensim 后,我遇到了同樣的錯誤。 它僅在我重新啟動 Anaconda 后才起作用:退出它,然后通過命令提示符重新打開它。 我想分享這個經驗,因為其他人可能會遇到同樣的問題。

要理解為什么會發生這種情況,您必須知道 Windows 如何找到要運行的可執行文件,以及 Python 軟件是如何安裝的。

  • 運行命令時,Windows 會在環境變量 PATH 中搜索可執行文件。 它執行找到的第一個。
  • python.exe安裝在<PYTHON_INSTALL_DIR> (例如C:\\Python\\3.7 )。
  • pip.exe和其他 Python 工具(例如pylintvirtualenvpycrust等)安裝在<PYTHON_INSTALL_DIR>\\Scripts
  • py.exe安裝在您的 Windows 系統目錄中(例如C:\\Windows )。
  • pythonpip命令使用在其安裝目錄中找到的模塊,它們不查看 PATH。

因此,假設您有以下 Python 版本:

C:\Python\2.7
C:\Python\3.6
C:\Python\3.7

並且您的 PATH 環境包含以下目錄:

C:\Python\2.7
C:\Python\3.6\Scripts

然后,看到以下輸出:

C:\>python -V
Python 2.7.16

C:\>pip -V
pip 19.1.1 from c:\python\3.6\lib\site-packages\pip (python 3.6)

C:\>py -V
Python 3.7.3

因此,在運行pip ,這些包可能安裝在另一個 Python 版本中,然后是運行python時獲得的版本。

要查看系統上(正確)安裝了哪些版本,請運行py -0p 示例輸出:

C:\>py -0p
Installed Pythons found by py Launcher for Windows
 -3.7-64        C:\Python\3.7-64\python.exe *
 -3.7-32        C:\Python\3.7-32\python.exe
 -3.6-64        C:\Python\3.6-64\python.exe
 -2.7-64        C:\Python\2.7-64\python.exe
 -2.7-32        C:\Python\2.7-32\python.exe

一般解決方案(適用於 Windows)

最好不要依賴您的系統路徑。 使用py啟動器選擇您想要的版本。 要運行與您要使用的 Python 版本對應的pip模塊,請將pip作為模塊而不是可執行文件啟動。 所以而不是:

pip install <package>

跑:

py -3.6 -m pip install <package>

在 Mac 中,打開 anaconda 導航器,單擊“打開終端選項”。 如果您使用的是 Windows,請以管理員身份運行 anaconda prompt 並運行以下命令:

在此處輸入圖片說明

conda install -c conda-forge gensim

這是我對您的情況的假設,因為您的操作系統能夠識別命令行中的pythonpy命令,這可能意味着您安裝了兩個單獨的 python 版本。

因為,正如您提到的那樣, python -V gensim顯示為已安裝的模塊。 嘗試通過命令python而不是py打開 python 交互式解釋器,並在其中導入gensim模塊。

C:\Users> Python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] 
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gensim

看看是否有效。

聚苯乙烯

我不建議在一個操作系統上使用兩個不同的編譯器版本,因為它會引起很多騷動,並且會導致在一個編譯器上制作的程序與另一個編譯器產生不兼容問題。 並使問題(如您提到的)更加普遍。

很可能您的機器上安裝了 > 1 個 python。 要在 python 命令行中安裝 gensim(或任何包),您可以在下面運行:

  • 輸入“python”然后輸入
  • 輸入“導入子進程”然后輸入
  • 輸入“subprocess.check_call(["python", '-m', 'pip', 'install', 'gensim'])”然后輸入

示例如下:

>>> import subprocess
>>> subprocess.check_call(["python", '-m', 'pip', 'install', 'gensim'])
Collecting gensim
..
...
Installing collected packages: smart-open, gensim
Successfully installed gensim-3.7.3 smart-open-1.8.3
0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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