Saleor 找不到 SECRET_KEY 尽管 Python 可以找到它

Saleor Can't Find SECRET_KEY Even Though Python Can Find It

尝试启动 Saleor 时,出现以下错误,提示找不到 SECRET_KEY

堆栈:

Debian

Python 3.7.4

Saleor(最新日期为 7-25-19)

:/$ sudo python manage.py migrate

回溯(最后一次调用): 文件 "manage.py",第 10 行,位于 execute_from_command_line(sys.argv)

... ...

文件“/usr/local/lib/python3.7/site-packages/django/conf/init.py”,第 178 行,在 init 提高配置不当("The SECRET_KEY setting must not be empty.") django.core.exceptions.ImproperlyConfigured: SECRET_KEY 设置不能为空。

我完成了

:/$ env

看看

SECRET_KEY=the-secret-key

我也输入了 python 提示并尝试了

>>> import os

>>> print(os.environ.get("SECRET_KEY"))

the-secret-key

因此该值似乎设置为可访问,但系统似乎无法找到它。

尝试sudo -E python manage.py migrate

-E 标志使用 sudo 保留环境变量。

为了澄清之前的回答,您需要记住 环境变量的范围仅限于用户。因此,当您 运行 使用 sudo 的进程时,您的 用户定义的环境变量将对超级用户不可用(除非您通过 -E 旗帜)。比较 运行ning envsudo env 的结果,你会看到不同的变量和值。

这个问题的另一种常见解决方案是在执行脚本时在线声明变量,例如sudo SECRET_KEY=xyz python manage.py migrate