如何在每个 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 中不起作用