Python 无法在virtualenv中安装boto

Python 无法在virtualenv中安装boto,python,virtualenv,boto,Python,Virtualenv,Boto,我能够在全局站点包中安装boto==2.9.0,但是当我尝试在virtualenv中安装相同的boto==2.9.0时,它失败了,出现以下错误 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/buil

我能够在全局站点包中安装boto==2.9.0,但是当我尝试在virtualenv中安装相同的boto==2.9.0时,它失败了,出现以下错误

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'
    .......
为包boto运行setup.py egg\u info
回溯(最近一次呼叫最后一次):
文件“”,第16行,在
文件“/home/khanio/.virtualenvs/test boto/build/boto/setup.py”,第37行,在
从boto导入\uuuu版本__
文件“boto/\uuuuu init\uuuuuu.py”,第43行,在
config=config()
文件“boto/pyami/config.py”,第73行,在__
self.load\u凭证\u文件(完整路径)
文件“boto/pyami/config.py”,第84行,装入凭证文件
self.readfp(c_数据)
文件“/usr/lib/python2.7/ConfigParser.py”,第324行,在readfp中
自读(fp,文件名)
文件“/usr/lib/python2.7/ConfigParser.py”,第546行,已读
提高e
ConfigParser.ParsingError:文件包含解析错误:
[第2行]:'----开始RSA私钥------\r\n'
.......

我在Mountain Lion和Ubuntu12.04上尝试了同样的方法,它们都安装了python 2.7.4,在这两种情况下,它都无法在virtualenv中安装。

我认为问题在于您设置了环境变量
AWS\u CREDENTIAL\u FILE
,但它似乎指向一个包含私钥的文件,而不是
AWSAccessKeyId
AWSSecretKey


请尝试取消设置此环境变量,然后再次尝试安装。

在创建虚拟环境时,是否传递了
--系统站点软件包
选项?您还使用了
pip
还是什么?我正在尝试在没有站点软件包支持的virtualenv中安装boto,我正在使用pip。使用easy_install尝试时也会出现相同的错误。我希望您不要使用
sudo
。似乎在尝试加载AWS配置文件时出现异常。仔细研究代码,也许你能找出根本原因。在我看来,permission issue.pip install boto读取
/etc/boto.cfg
~/.boto
,以及
boto\u配置
boto\u路径
环境变量。你有那些文件/变量吗?内容可能有误吗?我确实定义了AWS_CREDENTIAL_FILE env变量,正如你在删除它并重新加载bash shell后所说的,错误仍然会出现。Hmm。我认为执行这部分代码的唯一方法是如果存在环境变量。我认为在安装程序运行时,环境变量仍然是设置的。在进一步的全局环境检查中,我注意到用于自动故障切换ec2实例恢复的shell脚本之一是在shell启动时设置AWS_CREDENTIAL_FILE变量。谢谢你的指导。