2013-09-26 2 views
0

Bloomberg python API를 사용하려고합니다. 이를 위해 BLPAPI_ROOT 환경 변수를 설정해야합니다. 내가 추가 한,파이썬에서 환경 변수를 설정하는 중 오류가 발생했습니다.

export BLPAPI_ROOT="/home/user/Downloads/blpapi_cpp_3.6.3.1" 
export PATH=$PATH:$BLPAPI_ROOT 

내 .bashrc 파일에 및 소스 .bashrc 실행. 이제 파이썬 셸을 열어서 할 때,

print os.environ['BLPAPI_ROOT'] 

정확한 출력을 제공합니다. 그러나 이것도 setup.py가 제공하는 내부에서 실행될 때

Traceback (most recent call last): 
    File "setup.py", line 27, in <module> 
    blpapiRoot = os.environ['BLPAPI_ROOT'] 
    File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__ 
    raise KeyError(key) 
KeyError: 'BLPAPI_ROOT' 

무엇이 여기에 실종 되었습니까?

시스템 : 우분투 12.04 파이썬 2.7

+1

다른 보안 컨텍스트로 스크립트를 실행하면 오류가 발생합니다. sudo 사용하기 –

+0

하지만 sudo가 없으면 /usr/local/lib/python2.7/dist-packages/blpapi에 액세스하려고 할 때 권한이 거부됩니다. 제가 누락 된 올바른 방법이 있습니까? –

+0

'chmod'를 사용하여 해당 폴더에 대한 권한을 변경 한 다음 시도해보십시오. – chackerian

답변

1

나는 그것을 다음과 같은 방법을 사용하려고 할 것입니다 :

import os 
try: 
    os.environ['BLPAPI_ROOT'] = "/home/user/Downloads/blpapi_cpp_3.6.3.1" 
except EnvironmentError: 
    sys.exit(1) 
1

이 꽤 오래지만, 사람이 검색을 위해, 당신은 sudo를 설정하여이 문제를 얻을 수 있습니다 환경 변수 BLPAPI_ROOT, a la keep environmental variables using sudo을 유지하십시오.

Defaults env_keep +="BLPAPI_ROOT" 

는 이제 실행할 수 있습니다 :

sudo visudo 

그런 다음 추가

sudo python setup.py install 

그것은 잘 작동합니다.

+0

제 경우에는 작동하지 않습니다. 아마도 내가 virtualenv 안에 있기 때문에? –