如何让Jupyter Notebook内核启动时自动运行指定Python脚本并暴露变量?
嘿,这个问题我之前也碰到过!其实核心原因是Jupyter默认的启动脚本运行环境和Notebook的主命名空间是隔离的,所以你在配置里定义的变量没法直接访问。不过确实有命令行选项能解决,看下面的步骤:
用--init-file命令行参数指定启动脚本
IPython内核(Jupyter默认用的就是它)支持通过--init-file参数指定启动时要执行的脚本,而且这个脚本是在Notebook的主命名空间里运行的,这样定义的变量就能直接用了。
你只需要在启动Jupyter Notebook的时候,加上内核命令的配置:
jupyter notebook --KernelManager.kernel_cmd="['python', '-m', 'ipykernel_launcher', '-f', '{connection_file}', '--init-file', '/绝对路径/to/your/startup.py']"
记得把/绝对路径/to/your/startup.py替换成你实际的startup.py文件路径,用绝对路径更稳妥,避免路径找不到的问题。
验证一下
启动之后打开一个新的Notebook,直接运行print(sc),应该就能看到输出This is a spark connection了,完美解决变量访问的问题!
内容的提问来源于stack exchange,提问作者Zane Dufour
相关产品推荐
相关产品推荐

