如何在 Google Colab 中设置环境变量?

Fry*_*Pan 11 python environment-variables google-colaboratory

在我的本地计算机上,我只需进入“系统属性 -> 环境变量”并添加一个新变量及其在用户变量中的值。

然后,我可以在 Python 中使用它来检索该值:

import os
os.environ["VAR_NAME"]
Run Code Online (Sandbox Code Playgroud)

然而,我最近刚刚开始使用 Google Colab,它似乎无法检测到环境变量,因为它给了我这个错误:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-36-28128554cf91> in <module>()
      1 import os
----> 2 os.environ["REDDIT_NAME"]

/usr/lib/python3.7/os.py in __getitem__(self, key)
    679         except KeyError:
    680             # raise KeyError with the original key value
--> 681             raise KeyError(key) from None
    682         return self.decodevalue(value)
    683 

KeyError: 'REDDIT_NAME'
Run Code Online (Sandbox Code Playgroud)

我应该如何做才能让 Google Colab 检测我的用户环境变量?我需要修改特定路径吗?

谢谢。

Sam*_*dra 6

Google Colab 现在支持在笔记本本身上添加密钥和机密

来源:https ://twitter.com/GoogleColab/status/1719798406195867814

通过存储环境变量、文件路径或密钥来配置代码。此处存储的值是私有的,只有您和您选择的笔记本可见。

秘密名称不能包含空格。

脚步:

  1. 从左侧导航栏导航至“Secrets”窗格
  2. 添加您要管理的秘密名称和值
  3. 打开“笔记本访问”开关
  4. 通过以下方式在 Python 中访问您的密钥:

from google.colab import userdata
userdata.get('secretName')
Run Code Online (Sandbox Code Playgroud)


Phạ*_*Quý 5

像这样

import os
os.environ['REDDIT_NAME'] = 'something'
print(os.getenv('REDDIT_NAME'))
Run Code Online (Sandbox Code Playgroud)

或者使用dotenvlib. 将环境保存在文件中:

  import dotenv
  dotenv.load_dotenv(os.path.join(os.path.dirname(__file__), './.env'))
Run Code Online (Sandbox Code Playgroud)

在 .env 文件中: REDDIT_NAME = something

并在推送到 git 时忽略 .env 文件

  • 我不希望实际值出现在代码中,因为我会将其推送到公共 GitHub。如果我执行 os.environ['REDDIT_NAME'] = 'something'`,这不会暴露 ''something'` 的值吗? (2认同)