Что делать, если виртуальная среда Python не находит модули?

Что делать, если виртуальная среда Python не находит модули?

В 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. Теперь кнопки запуска и отладки должны работать как обычно.

Связанный контент