ModuleNotFoundError: нет модуля с именем «gensim» - PullRequest
2 голосов
/ 21 мая 2019

Моя цель - импортировать gensim в Python 3 для Windows.

Я использую Python 3.7.2 (проверяется при запуске python -V в командной строке Windows).Я установил gensim, запустив 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'

Есть предложения?Как установить gensim на Windows с Python 3?Как мне проверить Генсима?

Ответы [ 5 ]

0 голосов
/ 24 мая 2019

Чтобы понять, почему это происходит, вы должны знать, как Windows находит исполняемые файлы для запуска и как установлено программное обеспечение Python.

  • При выполнении команды Windows ищет исполняемый файл в переменной окружения PATH. Выполняет первый найденный.
  • 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)

Лучше всего не полагаться на PATH вашей системы. Используйте панель запуска py, чтобы выбрать нужную версию. Чтобы запустить модуль pip, соответствующий версии Python, которую вы хотите использовать, запустите pip как модуль вместо исполняемого файла. Так что вместо:

pip install <package>

пробег:

py -3.6 -m pip install <package>
0 голосов
/ 24 мая 2019

Я получил такую ​​же ошибку после установки gensim в Anaconda.Это сработало только после того, как я перезапустил Anaconda: выйдя из нее и снова открыв ее через командную строку.Я хотел бы поделиться этим опытом, поскольку кто-то другой может столкнуться с той же проблемой.

0 голосов
/ 21 мая 2019

Вот моя гипотеза относительно вашей ситуации, поскольку ваша ОС может распознавать команды python и py в командной строке, это может означать, что у вас установлены две отдельные версии python.

Поскольку,как вы упомянули, python -V показывает gensim как установленный модуль.Попробуйте открыть интерактивный интерпретатор python с помощью команды python вместо py и импортируйте в него модуль 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

Я бы не советовал использовать две разные версии компилятора в одной ОС, поскольку это вызывает сильное волнение и создает проблемы несовместимости с программами, созданными на одном компиляторе с другой.И делает проблемы (как вы упомянули) гораздо более распространенными.

0 голосов
/ 21 мая 2019

Скорее всего, на вашем компьютере установлено> 1 python. Чтобы установить gensim (или любой другой пакет) внутри командной строки python, вы можете запустить ниже:

  • введите "python", затем введите
  • введите «subprocess import» и введите
  • Тип "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
0 голосов
/ 21 мая 2019

Я думаю, что вы установили его, используя обычный cmd, поэтому он мог установить его на python2.x. Установите его с подсказкой anaconda.

Дайте мне знать, сработало ли это для вас.

...