2017-10-20 147 views
0

設置我使用的操作系統軟件包設置一些環境變量,像這樣:環境變量操作系統Ubuntu的沒有設置,但在os.environ

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import os 
print ("--------------------------> : ", os.environ) 

print '>>>> ',os.getenv('MY_ENV_APP') 

if "MY_ENV_APP" not in os.environ: 
    print "not in !" 
    os.environ['MY_ENV_APP'] = "prod" 
else: 
    print "ok, good boy !" 


print '>>>> ',os.getenv('MY_ENV_APP') 
print ("--------------------------> : ", os.environ) 

的「MY_ENV_APP」使用os.environ設置,但不是在Ubuntu系統:

... 
/usr/local/rvm/bin', 'MY_ENV_APP': 'prod', 'GEM_HOME': '/us 
... 

>>>> None 
not in ! 
>>>> prod 

... 
/usr/local/rvm/bin', 'MY_ENV_APP': 'prod', 'GEM_HOME': '/us 
... 

系統OS:

[02:59 ]-[[email protected]]-[/var/www/python] 
$ printenv | grep -i my_env_app 

[02:59 ]-[[email protected]]-[/var/www/python] 
$ printenv | grep MY_ENV_APP 

[03:00 ]-[[email protected]]-[/var/www/python] 
$ echo $MY_ENV_APP 

$[03:02 ]-[[email protected]]-[/var/www/python] 

因此,環境變量設置爲「我蟒蛇「,但不在系統中。

你能幫助我嗎?

謝謝, 和Fabrice

+0

您無法設置env。變量在父進程從子進程,python或其他... –

回答

1

實施例:

MY_ENV_APP=abcdef python test.py 

這將設置變量僅用於這個過程。

+0

好的。謝謝。我已經在Flask應用程序中做到了這一點:) – fabrice

相關問題