Jupyter Notebook 下 import 第三方库,显示 no module xxx 【本质是环境没有切换过来】

1.最简单情况下 切换环境即可

首先激活环境:

​
activate env  # 激活你的环境名称

jupyter notebook

​

之后去运行代码即可,如果还不行请看下面:

2、遇到Jupyter Notebook运行指定的conda虚拟环境

2.1 原因分析

看一下当前环境路径:发现是默认安装conda下的路径,不是我们想要的虚拟环境

import sys
sys.executable

sys.executable

 可以发现我们之前在jupyter添加的环境只是添加了一个空壳,并没有改变内核,使用的还是主环境的python。因此我们一定要在我们创建的环境中执行添加命令

在博客中看到的很多把虚拟环境添加jupyter中的操作流程如下:

1、在base环境中安装ipykernel

pip install ipykernel

2、创建虚拟环境、同时添加ipykernel

conda create -n env_name python=3.5 ipykernel

3、切换到虚拟环境

conda activate env_name

4、将环境写入notebook的ipykernel中

python -m ipykernel install --user --name env_name --display-name "在jupyter中显示的环境名称"

上面的安装过程确实可以实现将虚拟环境加入到juyter中,但是由于是在base中安装的ipykernel,或者忘记激活虚拟环境,或者由于实在base中安装的ipykernel,导致无法在激活的虚拟环境中使用 -m ipykernel,很多人直接在base中执行命令4,导致加入到jupyter的虚拟环境的python编译器使用的是base的,因此导致了上述问题。【不推荐】

2.2 解决方案一:

直接切换至虚拟环境(命令如上),安装ipykernel后,再执行命令4,结果如图所示,可以看到编译路径已经切换至虚拟环境所在路径:

安装nb_conda可以在jupyter中手动切换内核----虚拟环境

安装nb_conda

conda install nb_conda

安装成功后重新启动Jupyter,当创建新的Python文件时,也会提示要根据那个Kernel创建。

 同时也可以在kernel选项中更改当前使用的环境。

首先激活环境:

activate 环境名称
#activate KG

安装ipykernel

pip install ipykernel

环境导入jupyter

python -m ipykernel install --user --name 环境名称 --display-name "在jupyter中显示的环境名称"

#python -m ipykernel install --user --name KG --display-name "KG"

验证一下,完成:路径变回我们的虚拟环境了

2.3 解决方案二

通过修改/home/shy/.local/share/jupyter/kernels/py_work/kernel.json文件来解决上述问题。

{
 "argv": [

  #原来为"/usr/bin/python3"
  "/home/shy/.virtualenvs/py_work/bin/python3",#修改为我们环境的python路径即可
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "py_work",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汀、人工智能

十分感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值