环境变量操作系统Ubuntu的没有设置,但在os.environ

环境变量操作系统Ubuntu的没有设置,但在os.environ

问题描述:

设置我使用的操作系统软件包设置一些环境变量,像这样:环境变量操作系统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或其他... –

实施例:

MY_ENV_APP=abcdef python test.py 

这将设置变量仅用于这个过程。

+0

好的。谢谢。我已经在Flask应用程序中做到了这一点:) – fabrice