jupyter notebook添加virtualenv创建的虚拟环境,以及添加后在终端能import的模块 而在jupyter notebook无法导入的问题。

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

一定先在终端启动我们创建的环境然后在新环境中执行该添加命令,而不能在bash环境下。

例如:

python -m ipykernel install --user --name py_work --display-name "py_work"

遇到的深坑....

问题描述:执行上述命令,虽然出现上图可以选择新的python环境(py_work-->我的环境名),但是我们之前在py_work环境中下载的包却无法在jupyter导入,当然这些包是py_work环境特有的(在主环境/usr/lib/python3/dist-packages中没有)。

首先我们先将jupyter的环境切换到主环境中,执行如下指令。

import sys
sys.executable

 

 接下来切换到我们创建的环境(py_work)执行。结果还是输出

'/usr/bin/python3'

接下来使用终端切换到我们创建的环境中。执行上述指令。

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

问题解决:

  1. 首先在终端中先启动我们所创建的环境。
    workon 环境名称
  2. 安装ipykernel
    pip install ipykernel
  3. 执行添加命令。
    python -m ipykernel install --user --name 环境名称 --display-name "在jupyter中显示的环境名称"

 验证一下,完成

当然我们也可以通过修改/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
 }
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值