Jupyter Notebook中如何设置环境变量?
我们常常通过Jupyter Notebook来分享代码和演示分析结果。有时候,我们需要在代码中使用账号和密码,如果它们也被分享出去,可就大不妙了。正确的做法是把密码设置在环境变量中,在代码中读取环境变量。但是,Jupyter Notebook默认设置下,并不能读取到主机的环境变量。
方法之一是使用jupyterhub_config.py,将环境变量设置在这个文件中:
1 |
|
这样,在Jupyter hub启动notebook时,列表中的环境变量就会被带入到notebook中。但是,这仅限于jupyterhub的场景。
另一个方法是使用 python-dotenv库,在每一个notebook的头部,通过cell magic语法加载环境变量:
1 2 |
|
使用kernel.json¶
有一种方法设置起来复杂一些。但一旦设置好,在使用上却是最简便。这就是通过修改kernel.json。
这个文件的内容如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
最后的"env"字段,显示了如何设置环境变量。如果我们在notebook中要使用tushare, 或者jqdatasdk的账号或者密码,就可以在这个文件中这样设置:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Tip
tushare和jqdatasdk是两个重要的A股证券数据源。
设置后,重新打开notebook,现在就可以这样访问了:
1 2 3 |
|
kernel.json的位置¶
在单元格中,运行以下命令:
1 |
|
1 2 |
|