查看原文
其他

来来来,神器 Jupyter 的使用心得

四杆老烟枪 脚本之家 2022-04-23
 关注脚本之家”,与百万开发者在一起

【引言】本文没有神奇的插件,不提各种惊艳的魔法方法。仅总结一下个人使用 Jupyter 的一点心得,以及最近遇到的一些问题。仅供参考,并为需要的小伙伴提供解决方案。

作者 | 四杆老烟枪

出品 | 脚本之家(ID:jb51net)


1

最近Jupyter补全失灵报错的问题

前一段时间将Jupyter更新到最新版,在使用的时候发现tab补全失灵了,并且后台终端出现了一长串的报错。报错原因是因为 column 参数,往上看 column 参数位于 IPython 的某个文件内的某行,在某个函数内。知道了出现错误的原因,就可以顺藤摸瓜尝试解决它。


解决办法当然不要太复杂,能一步到位就一步到位。所以首先试试回退版本,笔者索性就直接退回到了 IPython 7.0。

使用命令ipython --version查看当前 ipython 版本,pip install ipython==7命令将安装 ipython 7.0 版本。

ipython --version
7.19.0

pip install ipython==7
...
Successfully installed ipython-7.0.0

ipython --version
7.0.0

启动 jupyter 发现补全功能恢复正常了。


2

关于启动目录想说的话

再附上一点想说的话,设置 jupyter 启动路径有两种方式,一种使用参数--notebook-dir设置,另一种是修改配置文件[^1]。笔者将在下文简单介绍两种方式,并给出合适的建议。

一、参数 --notebook-dir 带目录启动

使用如下命令启动 jupyter notebook,

表示要打开的目录。


jupyter notebook --notebook-dir 

二、修改配置文件

jupyter notebook --generate-config

运行上述命令,会给出如下结果:

Writing default config to: ...\.jupyter\jupyter_notebook_config.py

打开 jupyter_notebook_config.py 文件,定位到c.NotebookApp.notebook_dir语句行,删除语句前面的#符和空格,在双引号中间写入目录,关闭并保存文件。使用jupyter notebook启动即可。

Anaconda用户参考:
https://zhuanlan.zhihu.com/p/48962153

使用参数命令行太长,但是可以灵活选择。使用配置文件如同设置了默认的启动路径,缺少灵活性,但是也可以使用参数弥补。

如果有多个文件夹存有 ipynb 文件,并且经常使用,使用参数就显得太麻烦了,修改配置文件更加达不到想要的效果,此处提出解决办法以供参考,即通过 cmd 文件折中使用命令。

>>> fp = 'C:/Windows/ipynb.cmd'
>>> text = r'''@echo 正在打开 ipynb
@echo off
jupyter notebook --notebook-dir C:\Users\ipynb
'''

>>> with open(fp, 'w', encoding='ansi'as f:
...  f.write(text)

注意:

1.要使用 Python 在 Windows 文件夹中写入文件,需要使用管理员权限打开 Python。在运行窗口中输入 python,使用ctrl+shift+enter打开。也可以在开始菜单中用鼠标右击 Python,以管理员身份运行。

2.如果在 cmd 文件中有中文字,必须使用 ANSI 编码格式保存,否则在终端窗口中会出现中文乱码。

在终端窗口中输入ipynb即可启动。

最后,仅供参考,毕竟各自有各自的需求,例如对于喜欢用鼠标的小伙伴,就可以将这种文件放入启动菜单或者桌面,不想放入 Windows 目录的也可以放在其他路径里,添加一下环境变量即可。


3

总结

  1. 关于最近 Jupyter 补全失灵的解决办法,回退 IPython 版本至 7.0 即可。

  2. 设置多个 Jupyter 的启动路径,使用 cmd 文件折中使用参数。

本文作者:四杆老烟枪

声明:本文为 脚本之家专栏作者 投稿,未经允许请勿转载。

本来想用“{{”秀一波,结果却导致了内存溢出!

曾是微信最大对手的它,如今却黯然退场!

70道C语言与C++常见问答题

从汇编看C++程序的条件判断语句

2020 年度编程语言排行榜出炉!C 语言称霸,Java 遭遇滑铁卢…….

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存