2016-11-21 3 views
-1

사용자 환경 변수에 응답하는 코드가 보이지 않아 테스트 할 코드를 작성했습니다. getenv은 BASH에서 설정 한 환경 변수를 파이썬 코드로 가져 오지 않습니다. 당신이 제공 할 수있는 도움은 매우 감사하겠습니다.os.getenv()가 계속 반환 함 없음

$ FRUSTRATION="PYTHON!!" 
$ echo FRUSTRATION 
PYTHON!! 
export FRUSTRATION 
ipython 
import os 
very_frustrated = os.getenv("FRUSTRATION") 
print(very_frustrated) 
None 
+3

이것은 실행 한 코드가 아닙니다. '$ FRUSTRATION'은 변수의 내용이 아니라'FRUSTRATION'을 반복합니다. 추측 해 보면,'ipython'을 시작한 셸에서 실제로'export FRUSTRATION'을하지 않았습니다. – ShadowRanger

+0

다시 생성 할 수 없습니다. 같은 쉘에서'ipython'을 실행하고 있습니까? –

+0

어떤 운영 체제/셸입니까? 그건 내가 아는 어떤 리눅스 쉘과도 같지 않다. – tdelaney

답변

1

작품 :

:: export FOO=boo 
:: python 
Python 2.7.10 (default, Jul 30 2016, 18:31:42) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> os.getenv('FOO') 
'boo' 
>>> 

내 생각 엔 당신이 변수를 수출하는 것을 잊었다 중 하나, 또는 변수 잘못된 철자 것입니다.

0
print os.environ 

하면 환경 VAR는 시스템이나하지에 추가가 있는지 확인하기 위해이 작업을 수행합니다. 파이썬 코드가 좋습니다. env var 설정에 문제가 있습니다. 나를 위해

+0

'os.getenv'를 호출하는 것보다 이것이 어떤면에서 더 좋은지 모르겠습니다. 변수 설정에 문제가있는 경우이 변경 사항이 도움이되지 않습니다. – tdelaney

+0

@tdelaney 당신이 볼 수있는 변수를 보여주고 잠재적으로 당신이 찾고있는 변수를 볼 수 있습니다 - 이름의 철자가 잘못되었거나 그 성질의 것일 수도 있다는 것을 제외하고는. 소중한 디버깅 단계라고 생각 하긴하지만 문제에 대한 진정한 대답은 아닙니다. – jszakmeister