【问题标题】:Is there a way to not expose credentials in the code?有没有办法不在代码中公开凭据?
【发布时间】:2016-04-06 20:07:50
【问题描述】:

我一直在使用 ipython notebook,我需要传递 2 个信息(SNOW_USERPASSWORD),以便连接到数据库。出于安全原因,我不想公开它。

我尝试将其设置为ENV VAR(环境变量),并将其保存在我的.bash_profile.profile 上,使用export SNOW_USER='abc',但似乎ipython 无法找到它。

import os
print os.environ['SNOW_USER']

我也试过了:

%env

但是变量也没有显示在那里。

有什么想法吗?

【问题讨论】:

  • 您注销后又登录了吗?或source ~/.bash_profile
  • @PadraicCunningham 是的。我关闭了笔记本,然后打开它。
  • 嗯,应该可以的。
  • 尝试注销。如果您从窗口管理器打开笔记本但尚未重新启动,则您仍在使用旧环境。
  • @tdelaney,他们已经注销并重新登录,所以这不应该是问题吗?

标签: python environment-variables


【解决方案1】:

尝试在其中的某处创建一个文件.env

export SNOW_USER="snow_user"
export PASSWORD="password"

然后获取它:

source .env

或者只是为您提供bash_profile 文件:

source ~/.bash_profile

【讨论】:

  • @PadraicCunningham 我没有尝试创建.env。它成功了。我不确定为什么 bash_profile 不起作用。
  • @lizzie,我以为您根据您的问题和评论添加到~/.bash_profille
  • @PadraicCunningham 我确实添加到我的 bash_profile 中。我没有的是.env 文件。
  • @lizzie .envbash_profile 工作相同。你只需要以某种方式获取它。但通常最好在项目的根目录下添加.env
  • @Till 很高兴知道!
猜你喜欢
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 2023-03-12
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多