如何在每个 jupyter notebook 内核之前运行 Python 代码

Posted

技术标签:

【中文标题】如何在每个 jupyter notebook 内核之前运行 Python 代码【英文标题】:How to run Python code before every jupyter notebook kernel 【发布时间】:2018-09-15 14:23:48 【问题描述】:

假设我有一个代码 sn-p,我想在每次打开 jupyter notebook 时运行它(在我的例子中,它打开了一个 Spark 连接)。假设我将该代码保存在 .py 脚本中:

-- 启动.py--

sc = "This is a spark connection"

我希望每次打开内核时都能运行该代码 sn-p。我找到了一些关于Jupyter Configuration File 的东西,但是当我尝试运行时,那里定义的变量似乎没有出现

print(sc)

在笔记本上。有没有我可以使用的命令行选项——比如:

jupyter notebook --startup-script startup.py

或者我必须包括类似的东西

from startup import sc, sqlContext

在我希望定义这些变量的所有笔记本中?

【问题讨论】:

Start ipython running a script的可能重复 【参考方案1】:

我建议按照你的建议创建一个启动文件,并通过

%load ~/.jupyter/startup.py

这会将文件的内容粘贴到单元格中,然后您可以执行。

或者,您可以编写一个包含所有启动代码的最小可安装包。

专业:不会弄乱你的笔记本

缺点:更难做出小的改变。

【讨论】:

【参考方案2】:

不需要自定义包或显式加载(但如果您与其他人一起工作可能会更喜欢):您可以拥有自动执行的启动脚本 ?https://***.com/a/47051758/2611913

【讨论】:

以上是关于如何在每个 jupyter notebook 内核之前运行 Python 代码的主要内容,如果未能解决你的问题,请参考以下文章

丢失 jupyter notebook ssh 连接会杀死内核

图解Windows10下如何更换Jupyter Notebook 内核Python版本(切换原始的python环境)

Pyspark / pyspark 内核在 jupyter notebook 中不起作用

jupyter notebook 内核配置

Jupyter Notebook 中的 PySpark 配置

Jupyter Notebook 中的内核死机和重启问题