2017-09-23 67 views
0

讀出的環境變量,當我運行須藤-E主管重讀/重載Python不能與主管

我已經在[程序:現場]中定義的命令部分以啓動gunicorn.conf.py

/etc/supervisor/conf.d/weather.conf

[program:site] 
directory=/home/nhcc/campus-weather-station/weather_station 
command=/home/nhcc/venv/weather_station/bin/gunicorn -c /home/nhcc/campus-weather-station/weather_station/gunicorn.conf.py -p gunicorn.pod weather_station.wsgi 

gunicorn.conf.py

# -*- coding: utf-8 -*- 
# /usr/bin/python3 
import os 

bind = "{}:8080".format(os.environ['DJANGO_WEATHER_STATION_HOST']) 
worders = (os.sysconf('SC_NPROCESSORS_ONLN') * 2) + 1 
loglevel = 'error' 
command = "WTR_VENV/gunicorn" 
pythonpath = "$PROJECT/weather_station" 

它會顯示錯誤。

我在/etc/profile.d/project.sh

project.sh

export DJANGO_WEATHER_STATION_HOST=the_host_ip 

設置DJANGO_WEATHER_STATION_HOST重裝它之後,卻徒勞無功。

我也設置在〜/ .profile

但是仍然有錯誤。

File "/home/nhcc/campus-weather-station/weather_station/gunicorn.conf.py", line 5, in bind = "{}:8080".format(os.environ['DJANGO_WEATHER_STATION_HOST']) File "/usr/lib/python3.5/os.py", line 725, in getitem raise KeyError(key) from None KeyError: 'DJANGO_WEATHER_STATION_HOST'

+0

Supervisord需要在其配置中指定env變量。請參閱:http://supervisord.org/configuration.html#environment-variables –

+0

可能的重複https://stackoverflow.com/questions/12900402/supervisor-and-environment-variables –

+0

Mabe我沒有清楚地描述。但我的問題是關於python環境變量的一部分。運行supervisor命令後,python文件被調用。並且出現錯誤。 –

回答

1

主管維護自己的環境。

在這裏閱讀更多。 http://supervisord.org/subprocess.html#subprocess-environment

所以你必須通過環境/etc/supervisor/conf.d/weather.conf文件。

Ex的/etc/supervisor/conf.d/weather.confenv集合。

[program:site] 
directory=/home/nhcc/campus-weather-station/weather_station 
command=/home/nhcc/venv/weather_station/bin/gunicorn -c /home/nhcc/campus-weather-station/weather_station/gunicorn.conf.py -p gunicorn.pod weather_station.wsgi 

environment=HOME="/home/chrism",USER="chrism" 
+0

Mabe我沒有清楚地描述。但我的問題是關於python環境變量部分。運行supervisor命令後,python文件被調用。並且出現錯誤。 –