在不同虚拟环境中使用jupyter notebook

前几天新建了两个虚拟环境:PyTorch,tensorflow2
我想尝试在notebook拉起的浏览器中直接操作切换虚拟环境,但后来发现并不能这么搞,所以后续尝试了不同的解决办法

方法一

一开始想到是因为在新的环境中没装notebook,连ipython内核都没有,虽然激活环境之后能用jupyter notebook拉起一个浏览器,不过在这个notebook里面只能用原来的root环境python 3

然后在anaconda首页发现对于一个新环境,好像可以直接下载后launch(完全等价于在环境里install jupyter),问题是用这种方式打开的notebook只能用这一种虚拟环境,并没有办法做到环境的切换,虽然可以但不推荐
在这里插入图片描述

在这里插入图片描述

方法二

所以又尝试在一个新的环境里尝试,通过网上查资料发现其实conda有相关管理不同环境的包nb_conda

  • 首先安装nb_conda,这一步要在默认的base环境里进行(Windows可能需要管理员身份运行anaconda的shell)
conda install nb_conda
  • 然后打开base环境的notebook,就会发现现在有了一个新的选项卡conda
    在notebook选择环境里面有了新的选项,可以选择root和PyTorch两个环境

但是已经新建了tensorflow2环境,为什么这里面不能选它呢?
是因为在新的环境里面没有ipython,jupyter找不到对应的内核,而在之前已经在PyTorch环境中下载过jupyter了,所以已经具备了内核,故可以找到PyTorch环境而找不到tensorflow2环境

  • 所以在tensorflow2环境安装
conda install ipykernel

(别直接装jupyter,可能原因我写在了后面)

  • 现在从tensorflow2环境中打开notebook,也能找到他自己对应的环境了

在这里插入图片描述现在可以在现有的三个环境中三选一:
在这里插入图片描述这里其实我也没搞懂python 3和conda root的实际区别,希望有大老解答

自此以后,每新创建一个虚拟环境,就不用再下jupyter了,在新环境中直接打开就等效于在base中打开,如果想要找到对应新建的环境内核,只需要在新环境中安装ipykernel即可

但是再回过来看PyTorch环境,conda中对应环境打开notebook却还是只能找到唯一一个可用环境(它自己),也没有选项卡conda,造成的问题就是不能切换环境,不过在该环境底下调用自己还是完全ok的

在这里插入图片描述

可能conda在打开notebook的过程中会优先看你的环境中有没有独立的notebook,如果有的话就直接打开用此环境,如果没有独立的notebook但有ipython内核,就会通过base环境中的nb_conda寻找所有可用环境。

更新:
在3.9版本里面装不了nb_conda,解决途径见下
https://stackoverflow.com/questions/66359821/conda-environment-and-jupyter-notebook-python-3-9-2

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值