如何在 Jupyter notebook 中设置 env 变量

新手上路,请多包涵

我有一个问题,Jupyter 在 bashrc 文件中看不到 env 变量,有没有办法在 jupyter 中加载这些变量或向其中添加 custome 变量?

原文由 Ehab AlBadawy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3k
2 个回答

To set an env variable in a jupyter notebook, just use a % magic commands, either %env or %set_env , eg, %env MY_VAR=MY_VALUE or %env MY_VAR MY_VALUE 。 (单独使用 %env 打印出当前环境变量。)

请参阅:http: //ipython.readthedocs.io/en/stable/interactive/magics.html

原文由 michael 发布,翻译遵循 CC BY-SA 3.0 许可协议

您还可以在 kernel.json 文件中设置变量:

如果您每次启动 jupyter 内核时都需要相同的环境变量,尤其是当您为不同的任务设置多组环境变量时,我的解决方案很有用。

要使用您的环境变量创建一个新的 ipython 内核,请执行以下操作:

  • 阅读 https://jupyter-client.readthedocs.io/en/stable/kernels.html#kernel-specs 上的文档
  • 运行 jupyter kernelspec list 以查看包含已安装内核和文件存储位置的列表。
  • 将包含 kernel.json 的目录(例如名为 python2 )复制到新目录(例如 python2_myENV )。
  • 在新的 kernel.json 文件中更改 display_name
  • 添加定义环境变量的 env 字典。

您的内核 json 可能看起来像这样(除了 display_nameenv 之外,我没有修改已安装的 kernel.json 中的任何内容):

 {
 "display_name": "Python 2 with environment",
 "language": "python",
 "argv": [
  "/usr/bin/python2",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "env": {"LD_LIBRARY_PATH":""}
}

这种方法的用例和优势

  • 在我的用例中,我想设置变量 LD_LIBRARY_PATH 这会影响编译模块(例如用 C 编写)的加载方式。使用 %set_env 设置此变量无效。
  • 我可以有多个具有不同环境的 python 内核。
  • 要更改环境,我只需切换/重新启动内核,但不必重新启动 jupyter 实例(如果我不想在另一个笔记本中丢失变量,这很有用)。请参阅 - 但是 - https://github.com/jupyter/notebook/issues/2647

原文由 Bernhard 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题