2013-04-30 84 views
1

我能夠在全局站點包中安裝boto == 2.9.0,但是當我嘗試在virtualenv中安裝boto時,它會失敗並顯示以下錯誤。無法在virtualenv中安裝boto

Running setup.py egg_info for package boto 
Traceback (most recent call last): 
    File "<string>", line 16, in <module> 
    File "/home/khanio/.virtualenvs/test-boto/build/boto/setup.py", line 37, in <module> 
    from boto import __version__ 
    File "boto/__init__.py", line 43, in <module> 
    config = Config() 
    File "boto/pyami/config.py", line 73, in __init__ 
    self.load_credential_file(full_path) 
    File "boto/pyami/config.py", line 84, in load_credential_file 
    self.readfp(c_data) 
    File "/usr/lib/python2.7/ConfigParser.py", line 324, in readfp 
    self._read(fp, filename) 
    File "/usr/lib/python2.7/ConfigParser.py", line 546, in _read 
    raise e 
ConfigParser.ParsingError: File contains parsing errors: <???> 
    [line 2]: '-----BEGIN RSA PRIVATE KEY-----\r\n' 
    ....... 

我試着山獅和Ubuntu 12.04一樣,雙方都得到了Python安裝2.7.4,和兩個失敗的virtualenv中安裝內。

+0

你是否在創建虛擬env時通過了'--system-site-packages'選項?你也使用'點子'或什麼? – Babu 2013-04-30 05:24:00

+0

嗯,我正試圖在沒有站點包支持的virtualenv中安裝boto,而且我正在使用pip。使用easy_install進行嘗試時彈出相同的錯誤。 – 2013-04-30 05:41:03

+0

我希望你不要使用'sudo'。 – Babu 2013-04-30 05:59:29

回答

2

我認爲問題在於你設置了環境變量AWS_CREDENTIAL_FILE,但它似乎指向包含私鑰的文件而不是AWSAccessKeyIdAWSSecretKey值。

嘗試取消設置此環境變量並再次嘗試安裝。

+0

我確實已經定義了AWS_CREDENTIAL_FILE env變量,就像您在刪除它並重新加載bash shell之後所說的那樣,錯誤仍然顯示出來。 – 2013-05-01 00:49:17

+0

嗯。我認爲這部分代碼可以執行的唯一方式是如果該環境變量存在。我想不知怎麼這個環境變量在安裝程序運行時仍然被設置。 – garnaat 2013-05-01 03:02:08

+1

在進一步的全局環境檢查中,我注意到我的一個shell腳本用於自動化故障轉移ec2實例恢復是在shell start上設置AWS_CREDENTIAL_FILE變量。感謝您的指導。 – 2013-05-01 10:45:40