uwsgi:os.getenv("PATH") 不适用于 linux 中的 /etc/environment

uwsgi: os.getenv("PATH") does not work with /etc/environment in linux

我正在使用 uwsgi 和 nginx 为 Flask 应用提供服务。

我注意到在 uwsgi 线程中 os.getenv("PATH") 输出:

/sbin:/usr/sbin:/bin:/usr/bin

而我的 /etc/environment 文件是:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/dcm4che-3.3.8/bin"

我已经重新启动我的系统 post 更改 /etc/environment 所以我看不出为什么 os.getenv("PATH") 不包括来自 /etc/environment.

为什么会这样?

upstartsystemd 未采购 /etc/environment。您可以将环境变量移动到 /etc/default.

通过在 /etc/default/uwsgi 中采购 /etc/environment,您实际上移动了环境变量。