ModuleNotFoundError:没有名为“ gensim”的模块

时间:2019-05-21 17:28:55

标签: python python-3.x pip python-import gensim

我的目标是在Windows 3的Python 3中导入gensim。

我正在使用Python 3.7.2(通过在Windows命令提示符下运行python -V进行检查)。我通过运行pip install gensim安装了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?

6 个答案:

答案 0 :(得分:1)

在Mac中,打开anaconda导航器,单击“打开终端选项”。如果您使用的是Windows,请以管理员身份运行anaconda提示符并运行以下命令:

enter image description here

conda install -c conda-forge gensim

答案 1 :(得分:0)

我认为您已使用普通的cmd安装了它,因此它可能已将其安装在python2.x上。使用anaconda提示符进行安装。

让我知道它是否对您有用。

答案 2 :(得分:0)

这是我对您的情况的假设,因为您的操作系统能够在命令行中识别pythonpy命令,所以这可能意味着您安装了两个单独的python版本。

因为,正如您提到的,python -Vgensim显示为已安装的模块。尝试通过命令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

看看是否可行。

PS

我不建议在单个OS上使用两个不同的编译器版本,因为它会引起很多麻烦,并且会在一个编译器上与另一个编译器上产生程序不兼容的问题。并使问题(如您提到的)更加普遍。

答案 3 :(得分:0)

很可能您的计算机中安装了> 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

答案 4 :(得分:0)

在Anaconda中安装gensim之后,我遇到了相同的错误。只有在我重新启动Anaconda之后,它才起作用:退出并通过命令提示符重新打开它。我想分享这种经验,因为其他人可能也会遇到相同的问题。

答案 5 :(得分:0)

要了解为什么会发生这种情况,您必须知道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)

最好的是不要依赖您的系统PATH。使用py启动器选择所需的版本。要运行与您要使用的Python版本相对应的pip模块,请将pip作为模块而不是可执行文件启动。 所以代替:

pip install <package>

运行:

py -3.6 -m pip install <package>