2013-04-30 95 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