Jupyter Notebook如何调用指定的虚拟环境
程序员文章站
2022-06-06 20:39:33
...
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, sys
print(sys.executable) # works this time
print(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的默认虚拟环境,不是我想要的。
2 解决方法
通过如下命令可以查询你计算机安装的所有虚拟环境:
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版本也不一样了。
上一篇: HDU 2222 AC自动机入门题
下一篇: 列举Python中吸引人的一些特性
推荐阅读
-
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
-
如何修改通过Anaconda安装的jupyter notebook的工作目录
-
ubuntu c++ 如何调用 conda的python虚拟环境
-
详解如何修改jupyter notebook的默认目录和默认浏览器
-
anaconda虚拟环境安装jupyter notebook的坑
-
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
-
Jupyter Notebook如何调用指定的虚拟环境
-
关于Jupyter Notebook如何在当前anaconda虚拟环境下运行的问题
-
【亲测好用】Windows系统下的 jupyter notebook 使用 anaconda 的 virtualenv 虚拟环境
-
如何修改通过Anaconda安装的jupyter notebook的工作目录