问题

一般在服务器上进行环境安装的时候有多种方式,比如docker, conda等。conda肯使用起来更加简便,docker更适合服务器部署的时候使用。
本文记录在使用conda时候出现的问题,jupter notebook中的环境不一致导致的。

  1. 首先conda创建环境
conda create -n xxxx python=3.7.4
  1. 将环境添加到jupter中
python -m ipykernel instal --name xxxx --user
  1. 在notebook中使用该kernel并进行相应的导入该环境下装好的包,发现有问题,明明在conda中装好的包,在notebook中import的时候提示该mudule不存在。
    在这里插入图片描述

在这里插入图片描述
查看notebook中的python版本:

import sys
sys.version

在这里插入图片描述
可以看到notebook中的python版本是3.6, 而conda中版本是3.7。
假如你的jupter notebook的python版本与你创建的环境的python版本不一致的时候就会出现问题,可以通过更换Jupyter Notebook内核的Python版本解决这个问题。

解决办法

查看conda中环境kernel配置文件所在位置:

ipython kernelspec list

在这里插入图片描述

进入需要修改的kernel 的 python对应目录,修改 kernel.json

cd  xxxx/jupter/kernels/xxxx
vim kernel.json

在这里插入图片描述

注意: 确保这个新的python环境有ipykernel_launcher

没有的话可以跳转到该虚拟环境中,执行下面语句进行安装

  • python -m pip install ipykernel -U --force-reinstall

完成上述python的修改后重新启动notebook,再次import正常,问题得到解决:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐