Использование PYCHARM Professional с WSL2 в качестве интерпретатора Python: не имеет доступа к некоторым пакетам

У меня есть python, работающий над WSL2 вместе с ubuntu20.04. Затем я установил miniconda, а затем также установил все общие пакеты данных, такие как: tensorflow, pandas, scikit-learn, matplotlib, sqlalchemy, seaborn pip git

Все работает нормально.

У меня также установлен PYCHARM professional, и как интерпретатор Python я использую WSL2 (ubuntu20.04). Когда я пытаюсь запустить тот же код, который отлично работает с терминала WSL2, PYCHARM жалуется на неразрешенную ссылку на sklearn и предлагает загрузить этот пакет. Два вопроса:

я. Не следует ли PYCHARM иметь доступ ко всем пакетам, доступным с терминала WSL2 / Ubuntu20.04, поскольку я использую WSL2 в качестве интерпретатора PYTHON?

II. Если я позволю PYCHARM загрузить пакет независимо, не создаст ли он дубликаты пакетов, возможно, разных версий?

# import the necessary packages
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

Я также прилагаю снимок экрана интерпретатора Python, чтобы показать, что я делаю это правильно.  введите описание изображения здесь

ОБНОВЛЕНИЕ: на основе предложения @batuhand я хотел бы попробовать использовать виртуальную среду. Однако проблема в том, что интерпретатор WSL недоступен.

Когда я выбираю интерпретатор WSL, становится доступен \ usr \ bin \ python3. введите описание изображения здесь

Когда я выбираю виртуальную среду, \ usr \ bin \ python недоступен. введите описание изображения здесь

Итак, похоже, я не могу последовать предложению @batuhand.


person Garima Singh    schedule 22.12.2020    source источник


Ответы (2)


Спасибо @PavelKarateev. Он указал мне на JetBrains.com, что мой интерпретатор указывал на / usr / bin / python3, и я указал ему на текущее местоположение. В моем случае это:

wsl: // UBUNTU2004 / home / $ USER / miniconda3 / envs / PipInConda_DKU / bin / python3.

Здесь PipInConda_DKU была виртуальной средой, которую я создал внутри Conda. Как следует из названия, я также использовал pip для установки некоторого пакета из Anaconda.

person Garima Singh    schedule 27.12.2020
comment
Спасибо. Помогли мне на WSL2 + PyCharm + стихи :) - person Nickon; 09.03.2021

Вы можете создать виртуальную среду для каждого проекта в pycharm. Если вы это сделаете, все, что вам нужно сделать, это установить пакеты с помощью pip в терминале pycharm, и вы не увидите никаких ошибок дублирования.

person batuhand    schedule 22.12.2020
comment
Пожалуйста, обратитесь к обновленной части моего исходного сообщения. Я попробовал ваше решение. Однако это было невозможно. - person Garima Singh; 23.12.2020
comment
PyCharm не может создать venv, используя Python из WSL в качестве основы. Идея создания venv в файловой системе Windows с использованием Python, установленного в Linux в WSL, звучит как минимум спорно. - person Pavel Karateev; 23.12.2020
comment
Мне кажется более разумным создание venv внутри WSL с использованием Python на основе WSL в качестве основы. К сожалению, в настоящий момент PyCharm не может этого сделать (2020.3.1). Нужно создать venv вручную и выбрать его в качестве интерпретатора проекта в PyCharm. - person Pavel Karateev; 23.12.2020