Python 无法在virtualenv中安装boto
我能够在全局站点包中安装boto==2.9.0,但是当我尝试在virtualenv中安装相同的boto==2.9.0时,它失败了,出现以下错误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
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变量。谢谢你的指导。