0

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

堆:

Debian

Python 3.7.4

Saleor(截至 2019 年 7 月 25 日最新)

:/$ sudo python manage.py migrate

Traceback(最近一次调用最后一次):文件“manage.py”,第 10 行,在 execute_from_command_line(sys.argv)

……

文件“/usr/local/lib/python3.7/site-packages/django/conf/init .py”,第 178 行,在init raise ImproperlyConfigured("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

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

4

2 回答 2

2

为了澄清前面的答案,您需要记住环境变量的范围是 user。因此,当您使用 运行进程时,您的sudo用户定义的环境变量对超级用户将不可用(除非您传递标志)。比较运行的结果,你会看到不同的变量和值。-Eenvsudo env

您可能在某处看到的另一个常见解决方案是在执行脚本时内联声明变量,例如sudo SECRET_KEY=xyz python manage.py migrate

于 2019-07-27T19:03:02.553 回答
0

尝试sudo -E python manage.py migrate

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

于 2019-07-27T18:45:52.957 回答