2013-09-26 32 views
0

我正在嘗試使用彭博python API。我需要爲此設置BLPAPI_ROOT環境變量。我添加了,python中設置環境變量時出錯

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' 

缺少什麼我在這裏?

系統: 的Ubuntu 12.04 的Python 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,一個la keep environmental variables using sudo

sudo visudo 

然後加:

Defaults env_keep +="BLPAPI_ROOT" 

您現在可以運行:

sudo python setup.py install 

,它應該只是罰款。

+0

這不適用於我的情況。也許是因爲我在一個virtualenv? –