将 PYCHARM professonal 与 WSL2 一起用作 python 解释器:无法访问某些包

Using PYCHARM professonal with WSL2 as python interpreter: does not have access to some packages

我 python 正在研究 WSL2 和 ubuntu20.04。然后我安装了miniconda,然后,也安装了所有常用的数据包,比如:tensorflow, pandas, scikit-learn, matplotlib, sqlalchemy, seaborn pip git

一切正常。

我还安装了 PYCHARM 专业版,作为 python 解释器,我使用的是 WSL2(ubuntu20.04)。当我尝试 运行 从 WSL2 终端运行良好的相同代码时,PYCHARM 抱怨未解决对“sklearn”的引用并提供下载该包。两个问题:

我。不应该 PYCHARM 可以访问 WSL2/Ubuntu20.04 终端提供的任何包,因为我正在使用 WSL2 作为 PYTHON 解释器?

二。如果我不顾一切地让 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 的建议。

您可以为pycharm中的每个项目创建一个虚拟环境。如果这样做,您所要做的就是在 pycharm 终端中使用 pip 安装软件包,您将不会看到任何重复错误。

谢谢@PavelKarateev。他在 JetBrains.com 上向我指出,我的解释器指向 /usr/bin/python3,我已将其指向当前位置。在我的例子中是:

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

这里“PipInConda_DKU”是我在Conda里面创建的虚拟环境。顾名思义,我还使用 pip 从 Anaconda 安装了一些包。