ModuleNotFoundError: 'sklearn' in Jupyter notebook
ModuleNotFoundError: 'sklearn' in Jupyter notebook
在 Python 3.7 和 Win10 上使用 Conda (4.8)。我使用 conda conda install scikit-learn
安装了 scikit learn。尝试了一些东西:还将它安装在 env conda install -n my_env scikit-learn
中。还尝试安装 conda install -c anaconda ipython
- 没有任何效果。
我可以列出来:
scikit-learn 0.22 py37h6288b17_0
但是在juypter notebook中报错
from sklearn.datasets import fetch_lfw_pairs
(也尝试了几个其他命令)
ModuleNotFoundError: 没有名为 'sklearn'
的模块
但是如果我使用 Anaconda UI Navigator 启动笔记本一切正常
更新
我尝试过此命令行选项对我不起作用,尽管社区付出了很多努力并提供了帮助和支持(如下所示)。同时,Jupyter Notebook 也可以从 Anaconda UI 本身启动。这一直对我有用——不需要配置或设置 (none)。我还没有发现任何限制等(你确实得到了完全相同的笔记本)。对于 advanced/unique 您可能需要微调配置 cmd 行的用例可能会有所帮助,我不在那里。
很可能,您在启动笔记本时加载了错误的内核。
这是设置环境的准系统方法:
conda create -n testenv python=3.7 -y
conda activate testenv
conda install scikit-learn
conda install ipython
conda install notebook
python -m ipykernel install --user --name testenv
当您在浏览器中单击 new
时,您会在 python3 旁边看到一个附加选项,即您刚刚注册的内核。我刚刚用 anaconda 4.7 测试了这个,我可以导入 sklearn。
编辑:
答案中的代码创建了一个新的 python 环境。然后,它会在该环境中安装 ipython 和 jupyter notebook,并确保该环境可以与 jupyter notebook 一起使用(即注册 ipykernel)。
现在当然除了 scikit learn 之外,没有在特定环境中安装其他库。
所以,如果你想使用更多的库,你必须进入命令行,激活环境,并安装你要使用的库:
conda activate testenv
conda install scipy numpy matplotlib
然后 运行 环境中的 jupyter notebook,在你安装了所有你想要的东西之后(并且在关闭命令提示符或停用环境之后),你可以做
conda activate testenv
jupyter notebook
在命令提示符中。
Jupyterlab 通常会使用您启动它的环境。例如:
- 如果您先激活
my_env
,然后从终端执行 jupyter lab
,它应该会检测到环境。
- 万一失败,请转至
Kernel -> Change Kernel
和 select 您要使用的内核。
注意: 在创建新内核时,我总是使用 display-name
参数,这很有帮助。你可以这样做:
python -m ipykernel install --user --name my_env --display-name "Python (my_env)"
希望对您有所帮助。
要解决此问题,您需要在 Anaconda 中手动安装此软件包。
如何安装?打开 Anaconda Prompt 和 运行 以下命令:
conda install -c conda-forge scikit-learn
然后重启 Jupyter Notebook 并导入这个包。
我觉得是环境没有激活的问题。先尝试 conda activate my_env
,然后输入 jupyter notebook
。
您可以做的第一件事是:
import sys
print(sys.path)
检查路径中是否存在/path/to/anaconda/envs/my_env/lib/python3.7/site-packages
。
我发现打印当前 sys.path
很有用,这样我就知道它在看什么。
conda info --envs
当 testEnv 存在时:
conda activate testEnv
conda list scikit-learn
在 Python 3.7 和 Win10 上使用 Conda (4.8)。我使用 conda conda install scikit-learn
安装了 scikit learn。尝试了一些东西:还将它安装在 env conda install -n my_env scikit-learn
中。还尝试安装 conda install -c anaconda ipython
- 没有任何效果。
我可以列出来:
scikit-learn 0.22 py37h6288b17_0
但是在juypter notebook中报错
from sklearn.datasets import fetch_lfw_pairs
(也尝试了几个其他命令)
ModuleNotFoundError: 没有名为 'sklearn'
但是如果我使用 Anaconda UI Navigator 启动笔记本一切正常
更新
我尝试过此命令行选项对我不起作用,尽管社区付出了很多努力并提供了帮助和支持(如下所示)。同时,Jupyter Notebook 也可以从 Anaconda UI 本身启动。这一直对我有用——不需要配置或设置 (none)。我还没有发现任何限制等(你确实得到了完全相同的笔记本)。对于 advanced/unique 您可能需要微调配置 cmd 行的用例可能会有所帮助,我不在那里。
很可能,您在启动笔记本时加载了错误的内核。 这是设置环境的准系统方法:
conda create -n testenv python=3.7 -y
conda activate testenv
conda install scikit-learn
conda install ipython
conda install notebook
python -m ipykernel install --user --name testenv
当您在浏览器中单击 new
时,您会在 python3 旁边看到一个附加选项,即您刚刚注册的内核。我刚刚用 anaconda 4.7 测试了这个,我可以导入 sklearn。
编辑:
答案中的代码创建了一个新的 python 环境。然后,它会在该环境中安装 ipython 和 jupyter notebook,并确保该环境可以与 jupyter notebook 一起使用(即注册 ipykernel)。
现在当然除了 scikit learn 之外,没有在特定环境中安装其他库。
所以,如果你想使用更多的库,你必须进入命令行,激活环境,并安装你要使用的库:
conda activate testenv
conda install scipy numpy matplotlib
然后 运行 环境中的 jupyter notebook,在你安装了所有你想要的东西之后(并且在关闭命令提示符或停用环境之后),你可以做
conda activate testenv
jupyter notebook
在命令提示符中。
Jupyterlab 通常会使用您启动它的环境。例如:
- 如果您先激活
my_env
,然后从终端执行jupyter lab
,它应该会检测到环境。 - 万一失败,请转至
Kernel -> Change Kernel
和 select 您要使用的内核。
注意: 在创建新内核时,我总是使用 display-name
参数,这很有帮助。你可以这样做:
python -m ipykernel install --user --name my_env --display-name "Python (my_env)"
希望对您有所帮助。
要解决此问题,您需要在 Anaconda 中手动安装此软件包。
如何安装?打开 Anaconda Prompt 和 运行 以下命令:
conda install -c conda-forge scikit-learn
然后重启 Jupyter Notebook 并导入这个包。
我觉得是环境没有激活的问题。先尝试 conda activate my_env
,然后输入 jupyter notebook
。
您可以做的第一件事是:
import sys
print(sys.path)
检查路径中是否存在/path/to/anaconda/envs/my_env/lib/python3.7/site-packages
。
我发现打印当前 sys.path
很有用,这样我就知道它在看什么。
conda info --envs
当 testEnv 存在时:
conda activate testEnv
conda list scikit-learn