Python 2 ile Debian Jessie üzerinde çalışıyorum. Neden Python'un environ
'u bash'ta görünen çevre değişkenlerini göremiyor?Python neden çevre değişkenlerini göremiyor?
SECRET_KEY=xxx-xxx-xxx
Onları görmek bash almak için source /etc/environment
çalıştırmak zorunda, ben garip gelmişti: O alakalı emin değil -
# echo $SECRET_KEY
xxx-xxx-xxxx
# python
>>> from os import environ
>>> environ["SECRET_KEY"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/.virtualenvs/prescribing/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'SECRET_KEY'
Ben
/etc/environment
kullanarak bu ortam değişkenleri ayarlayın.
GÜNCELLEME: printenv SECRET_KEY
hiçbir şey üretmiyor, bu yüzden SECRET_KEY
bir kabuk değil bir ortam değişkeni olduğunu tahmin ediyorum. Çocuk süreçler onları görmek için
Bu bir ortam değişkeni değil; Siz onu ihraç edene kadar sadece bir kabuk değişkeni. –
Gerçekten mi? Ben/env/environment'ın ortam değişkenlerini belirlemek için olduğunu düşündüm - bu yanlış mı? – Richard
'source/env/environment 'işlevini kullanmak, yalnızca kabuktaki değişkenleri ayarlar, alt süreçler tarafından erişilebilen ortam değişkenlerini değil. –