![](/img/trans.png)
[英]ModuleNotFoundError: No module named 'gensim.models.wrappers'
[英]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 軟件是如何安裝的。
python.exe
安裝在<PYTHON_INSTALL_DIR>
(例如C:\\Python\\3.7
)。pip.exe
和其他 Python 工具(例如pylint
、 virtualenv
、 pycrust
等)安裝在<PYTHON_INSTALL_DIR>\\Scripts
。py.exe
安裝在您的 Windows 系統目錄中(例如C:\\Windows
)。python
和pip
命令使用在其安裝目錄中找到的模塊,它們不查看 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>
這是我對您的情況的假設,因為您的操作系統能夠識別命令行中的python
和py
命令,這可能意味着您安裝了兩個單獨的 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(或任何包),您可以在下面運行:
示例如下:
>>> 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.