
В Ubuntu 16.04 я создал виртуальную среду под названием venv
и внутри у venv/lib/python2.7/site-packages
меня есть nltk
и nltk-3.2.2.dist-info
как обычно.
Однако когда я активирую виртуальную среду с помощью source venv/bin/activate
и запускаю скрипт Python, содержащий import nltk
, я получаю ошибку:
ImportError: No module named nltk
Как это можно исправить?
решение1
С помощью «pip list» вы всегда можете проверить, какие пакеты установлены в вашем venv.
(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...
решение2
Сначала активируйте venv, затем установите зависимости, например, pip install nltk
.
Пакеты будут находиться в папке venv.
решение3
Используя vscode, я столкнулся с этой проблемой при попытке запустить свою программу с помощью кнопок по умолчанию «Запустить файл Python» или «Отладить файл Python», даже когда у меня был активирован Venv.
Я выяснил, что это потому, что все эти кнопки запускают команду, которая использует python по умолчанию в вашей системе для запуска вашего файла вместо того, что в venv. Чтобы исправить это, вам нужно запустить программу вручную:python path_to_your/file_name.py
Редактировать: после включения venv, вы можете нажать ctrl+shift+p
, затем ввести Python:Select Interpreter
и выбрать интерпретатор python в venv. Теперь кнопки запуска и отладки должны работать как обычно.