这篇教程Jupyter Notebook调用指定的虚拟环境的实现示例写得很实用,希望能帮到您。
1 问题由来不久前,jupyter notebook运行时出现了kernel error的问题,于是上网搜索方法,发现运行如下命令能够解决问题: python -m ipykernel install --user 本人Anaconda中自行配置了一个名为data 的虚拟环境,并在此环境中安装了诸多专门的用于数据处理的package。 问题来了: - 某天突然发现,虽然是从指定虚拟环境进入Notebook,但依旧无法使用
data 中的库。 - 然而,退出来运行命令
conda list 查询,可以发现所有想要的包就好好地躺在里面。
2 发现原因知识点:虽然Jupyter Notebook是在data 的虚拟环境中启动的(Mac启动命令为source activate environment_name )。但是它居然还可能是运行的默认环境,而不是你指定的虚拟环境,这就是问题所在。 出现这种问题的原因,可能就是前面命令行将设置给初始化了之类的(仅猜测)。 运行如下代码可以查询目前的Notebook究竟运行的是哪一个虚拟环境: import os, sysprint(sys.executable) # works this timeprint(sys.version)print(sys.version_info) 输出结果如下: >>> /Users/yj/opt/anaconda3/bin/python >>> 3.7.4 (default, Aug 13 2019, 15:17:50) [Clang 4.0.1 (tags/RELEASE_401/final)] >>> sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)
此时显示的是Anaconda的默认虚拟环境,不是我想要的。
3 解决方法通过如下命令可以查询你计算机安装的所有虚拟环境: conda env list>>> # conda environments:>>> #>>> base * /Users/yj/opt/anaconda3>>> data /Users/yj/opt/anaconda3/envs/data 这里我想要的是data 这个环境。接下来要做的就是将这个环境加入到Jupyter Notebook的Kernel中。代码及说明如下: # 第一步,切换到想要添加的虚拟环境:conda activate data# 第二步,安装ipykernel包conda install ipykernel# 第三部,执行如下命令,并确定环境的名称(此处设置为data)python -m ipykernel install --name data 务必注意第1步必不可少。重启Notebook,可以看到已经有新的环境可以选择: 重新查询运行环境,发现已经更改为自己想要的虚拟环境,终于又重新可以调用要用的包了。 >>> /Users/yj/opt/anaconda3/envs/data/bin/python>>> 3.7.5 (default, Oct 25 2019, 10:52:18) [Clang 4.0.1 (tags/RELEASE_401/final)]>>> sys.version_info(major=3, minor=7, micro=5, releaselevel='final', serial=0) 注意第一行多了个data ,第二行python版本也不一样了。
4 补充
4.1 异常处理执行python -m ipykernel install --name data 后,出现[Errno 13] Permission denied: '/usr/local/share' ,则可以将名利修改为: python -m ipykernel install --user --name data 显示成功,撒花庆祝
4.2 Notebook的tab扩展失效安装了ipykernel 包之后,有的小伙伴会出现tab键失效的问题,这里是因为jedi 这个包在作怪,把它干掉就好了 到此这篇关于Jupyter Notebook调用指定的虚拟环境的实现示例的文章就介绍到这了,更多相关Jupyter Notebook调用指定虚拟环境内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com! Jupyter Notebook切换虚拟环境的三种方法 关于pandas中的.update()方法解析 |