终端能到import模块 解决jupyter notebook无法导入的问题

这个问题让我查了许多天才解决,为了避免后面的人重复走弯路,记录下来。

问题描述:

我在ubuntu 下编译安装了caffe ,在命令行模式下可以import caffe ,但是在jupyter notebook 中无法import caffe,同样的 我安装的pytorch 也遇到了类似的问题。

解决方案:

首先在打开终端,输入python , 然后import sys,最后执行sys.executable 结果如下图,路径是:/home/jack/anaconda2/bin/python

第二 在终端 输入 jupyter notebook 后,新建一个ipynb 文件,同样是 import sys,sys.executable,结果输出是:/usr/bin/python 如下图:

也就是说终端的路径 与jupyter notebook 的路径不一致,需要在终端中输入:

ipython kernelspec list

结果如下

此时需要进入:/home/jack/.local/share/jupyter/kernels/python2/ 路径在修改 kernel.json 文件将

{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
 "/usr/bin/python", % 修改为 :/home/jack/anaconda2/bin/python
 "-m",
 "ipykernel_launcher",
 "-f",
 "{connection_file}"
 ]
}

文件中的 /usr/bin/python 修改 为/home/jack/anaconda2/bin/python,然后保存重启即可。

补充:Mac在终端正常导入的模块,而在jupyter notebook无法导入的问题

1、在网上搜索了很久,找到了问题的关键,如下:

在jupyter中新建文件输入如下代码,查看目前的编译路径:

此时发现 jupyter模式下使用的python编译路径与其他模式下的python编译路径是不一样的,这就是为什么无法导入已经安装好的包的原因。

2、出现上述情况的原因

在博客中看到的很多把虚拟环境添加jupyter中的操作流程如下:

1、在base环境中安装ipykernel

pip install ipykernel

2、创建虚拟环境、同时添加ipykernel

conda create -n env_name python=3.5 ipykernel

3、切换到虚拟环境

conda activate env_name

4、将环境写入notebook的ipykernel中

python -m ipykernel install --user --name env_name --display-name "在jupyter中显示的环境名称" 

上面的安装过程确实可以实现将虚拟环境加入到juyter中,但是由于是在base中安装的ipykernel,或者忘记激活虚拟环境,或者由于实在base中安装的ipykernel,导致无法在激活的虚拟环境中使用 -m ipykernel,很多人直接在base中执行命令4,导致加入到jupyter的虚拟环境的python编译器使用的是base的,因此导致了上述问题。

解决办法

直接切换至虚拟环境(命令如上),安装ipykernel后,再执行命令4,结果如图所示,可以看到编译路径已经切换至虚拟环境所在路径:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Jupyter加载文件的实现方法

    初学初用,随手记录以当作笔记使用,会慢慢再进行补充添加,错误之处烦请指正. (1)运行本地文件,在代码不加载的情况下可以直接显示结果 % run F:\pythonCode\range.py(路径不加引号) (2)将本地文件加载到jupyter %load F:\pythonCode\range.py(路径是文件在本地的保存位置) 加载完成后"%load F:\pythonCode\range.py"会变成注释,而文件内容会显示在cell中. 若是从网络中导入python代码,可以使用

  • 切换路径在Jupyter里调用本地文件的操作

    Jupyter是一个在线的代码编辑工具,想要调用本地的文件则需要切换路径到相应的文件路径下 切换路径要在打开Jupyter之前完成 操作:cd 空格 + 文件路径 盘符: 示例代码: (pytorch) C:\Users\ZH>cd E:\duchenggang_2018_2\file\CS231n (pytorch) C:\Users\ZH>E: (pytorch) E:\duchenggang_2018_2\file\CS231n> 在命令行中的代码 补充:Jupyter 文件路径问

  • anaconda jupyter不能导入安装的lightgbm解决方案

    问题: 安装lightgbm成功后,无法在anaconda jupyter notebook中导入lightgbm包 原因: lightgbm默认安装在本地python环境中,而anaconda的python环境与本地不是同一个环境,不能使用本地环境中的包 解决方法: 将本地环境中的lightgm包拷贝到anaconda的python环境中 操作方法: 在本地的python环境下,导入lightgbm包,使用lightgbm.__file__输出包的路径 在Anaconda的python环境下,

  • 解决jupyter加载文件失败的问题

    遇到个小白常见的问题,发现度娘里面没有记录,翻墙谷歌了下,解决问题,在此写个说明. 事情起因: 在jupyter notebook中导入文件时发生了错误: %load p2_test1.py 错误信息: --------------------------------------------------------------------------- NameError Traceback (most recent call last) /usr/local/lib/python3.5/dis

  • jupyter读取错误格式文件的解决方案

    使用pandas读取xml文件报错 " Unsupported format, or corrupt file: Expected BOF record; found b'<?xml ve' " 解决办法: 转换文件格式,使用excel打开xml文件 选择:文件->另存为---->弹框 保存以后,再次用pandas读取对应格式的文件读取即可 补充: 在jupyter中读取CSV文件时出现'utf-8' codec can't decode byte 0xd5 in p

  • 解决jupyter 在浏览器中 代码不执行的问题

    在机器学习的时候,当开始就遇到问题,pycharm启动jupyter notebook之后,浏览器前两行代码执行的好好的,后面就不执行了,上面的键全点了一遍(英语不行,见谅- -,死马当活马医). 还是不行,后来,返现右上角python3旁边有个圈,当我重新启动的时候圈空心的 这时候代码可以正常执行:但变成实心的时候就不会执行了 下面in的情况,正常执行的应该是 不执行的时候是 这时候上面的圈也变成了实心的 这种情况,是代码中出现了错误,导致不能继续进行了,影响了整个执行过程, 解决方法 in[

  • 终端能到import模块 解决jupyter notebook无法导入的问题

    这个问题让我查了许多天才解决,为了避免后面的人重复走弯路,记录下来. 问题描述: 我在ubuntu 下编译安装了caffe ,在命令行模式下可以import caffe ,但是在jupyter notebook 中无法import caffe,同样的 我安装的pytorch 也遇到了类似的问题. 解决方案: 首先在打开终端,输入python , 然后import sys,最后执行sys.executable 结果如下图,路径是:/home/jack/anaconda2/bin/python 第二

  • 解决Jupyter notebook中.py与.ipynb文件的import问题

    在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中,这就为开发带来了极大不便.因为在jupyter notebook中,一定要是在默认的.ipynb下才能有一系列的特性支持,比如自动补全,控制台等待,而.py文件只能通过文本编辑器修改,非常非常不便. 因为.ipynb可以import .py的module,所以其中一个解决方法是将已经写好的.ipy

  • Jupyter notebook无法导入第三方模块的解决方式

    在CMD控制台进入Jupyter notebook之前,先激活安装了该模块的配置环境,再启动jupyter notebook,问题完美解决. 补充知识:anaconda安装jupyter notebook时报错:ImportError:DLL load failed,找不到指定模块的解决办法 在用anaconda装jupyter notebook的时候安装过程没问题,但是运行jupyter时报错,错误如下.可能是因为我之前用的是anaconda2,有一个jupyter,然后我把annaconda

  • 解决jupyter notebook import error但是命令提示符import正常的问题

    基本上是因为jupyter notebook的kernel所用的python和命令提示符中的python环境不一样. 首先分别在cmd和jupyter notebook下查看所用python版本: import sys sys.executable 如果不一样的话就进行下一步,更改jupyter notebook的kernel环境: 在命令行输入: ipython kernelspec list 可以看到指定kernel地址的文件夹 : Available kernels: python2 C:

  • 解决jupyter notebook打不开无反应 浏览器未启动的问题

    问题: 这几天要看几个ipython格式的文件,但是jupyter notebook打开之后一直卡在命令行的界面那里(如图),然后就不动了,浏览器也没有预期地自动弹出来. 解决方法: 如果你的命令行显示的结果和我的一样,那你只需要把如图的地址,复制粘贴到浏览器的地址栏,就能打开jupyter notebook. 成功: 补充知识:打开jupyter notebook时浏览器不能自动弹出,网页不显示问题解决 问题: 在windows下打开jupyter notebook时,卡在黑框,浏览器界面加载

  • 解决jupyter notebook 前面书写后面内容消失的问题

    在使用jupyter notebook时,如果想改中间的内容,但有时你会发现后面的内容就没有了,不见了, 你需要重写这一行代码,这费时间. 这其实是设置的问题,在word中也会出现这种情况,是'改写'问题. 在jupyter notebook中,你只要按键盘上的 insert 键就解决这个问题了. 补充知识:Jupyter 重新导入修改后的自定义包 Jupyter 经常遇到这样一个问题,就是在已有的 notebook 中导入了自定义的 itools.py 包文件,但是在编辑 notebook 中

  • 解决 jupyter notebook 回车换两行问题

    最近安装了丘比特笔记本(jupyter notebook),各种快捷键和编辑模式用的非常舒服.但是我的默认浏览器是chrome 每次回车换行都会空出两行,很是不方便.没有找到问题出在哪里,偶然百度到有人说可能是浏览器插件的锅. 关闭所有插件后,重启jupyter notebook后果然解决了,经过排查发现是Tampermonkey中的网页限制解除脚本导致. 如遇到此类问题,请关闭浏览器插件后重新试一下. 补充知识:jupyter notebook设置一个执行单元多个输出 问题描述 日常我们在使用

  • 解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题

    我们都知道Jupyter notebook更换主题后看着会很舒服,但是有个问题主题更换后工具栏不显示了. usename$ jt -l Available Themes: chesterish grade3 monokai oceans16 onedork solarizedd solarizedl 使用命令:jt -t 主题名 -T` 更换主题 就可以显示工具栏了 为 jupyter 添加目录生成插件 terminal 端输入: 1. pip install jupyter_contrib_n

  • 解决Jupyter Notebook使用parser.parse_args出现错误问题

    问题: 在Jupyter Notebook中使用args传递参数时出现错误: 原始代码:args = parser.parse_args() usage: ipykernel_launcher.py [-h] [--x_dim XDIM] [--h_dim HDIM] [--z_dim ZDIM] [--ratio RATIO] [--seed SEED] ipykernel_launcher.py: error: unrecognized arguments: -f C:\Users\MSI-

  • 解决Jupyter NoteBook输出的图表太小看不清问题

    如果使用的是matplotlib绘图,可以通过以下命令更改图片的大小: %matplotlib linline 如果是 plt.figure(figsize=(5,3)) #其中(5, 3)用于控制图片的大小 如果是 fig,axes = plt.subplots(2 ,3 ,figsize=(12,5)) #其中(12, 5)用于控制图片的大小 补充知识:Jupyter Notebook使用plt.show()输出"Figure size 640x480 with 1 Axes" 问

随机推荐