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。因此我们一定要在我们创建的环境中执行添加命令。
问题解决:
- 首先在终端中先启动我们所创建的环境。
workon 环境名称
- 安装ipykernel
pip install ipykernel
- 执行添加命令。
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
}
}