尝试启动 Saleor 时,出现以下错误,指出它找不到SECRET_KEY
叠:
Debian
蟒蛇 3.7.4
销售商(最新至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 中 引发配置不正确("SECRET_KEY设置不得为空。django.core.exceptions.不正确配置:SECRET_KEY设置不得为空。
我做过
:/$ env
并查看
SECRET_KEY=the-secret-key
我也输入了一个python提示并尝试
>>> import os
>>> print(os.environ.get("SECRET_KEY"))
the-secret-key
因此,该值似乎设置为可访问,但系统似乎找不到它。
为了澄清上一个答案,您需要记住环境变量的范围限定为用户。 因此,当您使用 sudo
运行进程时,您的用户定义的环境变量将不适用于超级用户(除非您传递 -E
标志(。 将运行env
的结果与sudo env
进行比较,您将看到不同的变量和值。
您可能在某处看到的此问题的另一个常见解决方案是在执行脚本时内联声明变量,例如 sudo SECRET_KEY=xyz python manage.py migrate
尝试sudo -E python manage.py migrate
-E 标志使用 sudo 保留环境变量。