社区编辑申请
注册/登录
如何让 Jupyter Notebook 自动导入代码?
开发 后端
怎样才能在启动Jupyter 笔记本时自动加载这些代码,让我们只专注于使用这些库?本文介绍两种办法。

大家好,我是早起。

作为使用 Python 工作的数据科学家。每天我们都会启动多个新的Jupyter笔记本,并且在会用到多个不同的库,例如pandas、matplotlib等。

但是,在开始实际工作之前,我们总是需要为每一个 Notebook 写一堆的导入代码,虽然这不困难,但是却很繁琐,有时还需要查找对应的导入语句例如:

from sklearn.preprocessing import OneHotEncoder, LabelEncoder
from sklearn import feature_selection

怎样才能在启动Jupyter 笔记本时自动加载这些代码,让我们只专注于使用这些库?本文介绍两种办法。

方法一 : 修改配置文件

一个常见的方法就是通过修改Jupyter的配置文件来实现,这也是我在​​之前文章中介绍过的方法​​。

以macOS为例,你可以进入~/.ipython/profile_default文件夹(Windows下也可以在安装目录中找到对应的文件夹),如果找不到该目录需在命令行执行ipython profile create生成配置文件:

如上图所示,在该文件夹下新建一个名为startup的文件夹(如果有则不用新建),之后进入startup文件夹新建一个Python脚本start.py,现在你可以在start.py中尽情的添加你每次启动jupyter notebook后都需要手动敲入的那段代码,之后保存即可:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, tree, linear_model, neighbors, naive_bayes, ensemble, discriminant_analysis, gaussian_process
from xgboost import XGBClassifier
from sklearn.preprocessing import OneHotEncoder, LabelEncoder
from sklearn import feature_selection
from sklearn import model_selection
.......

现在重启Jupyter Notebook后就可以直接使用pandas、numpy等我们配置好的库!

但这个方法也有一个弊端,就是由于文件缺少相关导入代码,因此可能打包发给别人用时会无法执行,我们也不可能再次检查所用的代码然后手动导入一遍,所以只能在自己修改了配置文件的设备上用用。

方法二 : 使用 pyforest

这是我最近新发现的一个方法,由国外大神开发的一个插件,相比较修改配置文件,更适合小白操作。

我们只需要在终端(命令行)执行以下代码:

pip install --upgrade pyforest
python -m pyforest install_extensions

之后重启Jupyter Notebook后便可以实现自动导入相关库。

可以看到,这个方法和方法一的差别在于,他不是默认导入全部的依赖库(避免了过多的内存占用),而是在你使用到这个库时,自动在Notebook头部添加对应的导入代码,是不是很酷!

以pandas为例,当我们使用到pd.xxx便会在头部添加import pandas as pd,而在使用它之前,变量pd只是pyforest占位符。

但使用别人配置好的缺点就是自己想额外添加一些第三方库会比较困难,好在开发者已经预设了上百个常用库,从数据分析到机器学习、深度学习都有,基本上不用额外设置,感兴趣的话可以尝试一下~

责任编辑:赵宁宁 来源: 早起Python
相关推荐

2020-10-26 10:11:45

Jupyter Not早起Python开发

2020-11-04 10:31:29

Jupyter NotPython数据分析

2020-09-24 05:50:46

2021-05-26 10:15:52

2020-03-23 08:09:47

VS CodePythonJupyter Not

2021-03-19 09:48:10

Jupyter Not插件Python

2021-08-12 16:02:22

2018-09-13 10:42:00

2019-07-01 14:39:44

Jupyter扩展Python

2020-11-13 06:18:07

JupyterPython数据分析

同话题下的热门内容

八个流行的 Python 可视化工具包,你喜欢哪个?太赞了! 菜鸟利用Python实现网站自动签到Python办公自动化,五分钟掌握openpyxl操作!跟着 Guava 学 Java 之 不可变集合速度起飞!替代 pandas 的八个神库如何在 Windows 上写 Python 代码?优秀攻略来袭!浅谈Python+requests+pytest接口自动化测试框架的搭建C开发中段错误的三种调试方法

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

AISummit人工智能大会