jupyter 笔记本无法使用环境变量,但我在基本 printenv 中看到它们

问题描述 投票:0回答:1

我通过添加

在我的激活脚本中添加了一些环境变量
export MYVAR=blahblah

到最后。

当我通过

source ./activate
激活然后执行
printenv
时,我会看到它们。

如果我从 bash 终端启动 python,那么

import os
os.environ

然后我看到了他们。

但是如果我通过 Web 界面或通过 VSC 远程连接打开 jupyter 笔记本,那么我看不到它们。

缺少的环节是什么?

python jupyter-notebook
1个回答
1
投票

我不确定为什么激活脚本中设置的环境变量不会保留到笔记本会话中,但我发现使用内核启动可以满足我的需要。

具体来说,我使用了 dot-env 和 ipython 内核启动文件夹。

我在

~/.ipython/profile_default/startup
中制作了一个 2 行脚本,上面写着

from dotenv import load_dotenv
load_dotenv()

并将其保存为该文件夹中的 00_make_envs.py

另外,我在同一文件夹中创建了一个

.env
文件,其中包含我想要使用的所有环境变量,它的格式与 docker 使用的格式相同......即

MYVAR1=blahblah
MYVAR2=foobar
© www.soinside.com 2019 - 2024. All rights reserved.