更新Python以与AWS CLI一起使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了更新Python以与AWS CLI一起使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2029字,纯文字阅读大概需要3分钟。
内容图文
![更新Python以与AWS CLI一起使用](/upload/InfoBanner/zyjiaocheng/678/0ffb624dffd04dd0b24983e7d8274b43.jpg)
我正在尝试在终端机(Mac OS X v10.6.8)中使用AWS CLI S3,并且在运行基本命令(例如aws s3 ls)配置完所有适当的凭证后,它不会输出任何内容.
当我执行稍微复杂一些的命令时(例如aws s3 mb s3:// newbucketname),它输出:__init __()关键字必须是字符串.
根据一些研究,我怀疑原因是默认情况下安装了Python 2.6.1,因此我下载了v3.3.2,进行了安装,并使用“ Update Shell Profile.command”功能设置了正确的PATH变量.
现在安装并配置了新版本的Python后,我仍然得到相同的结果.尽管$PATH变量指向新版本(v3.3.2),但终端似乎仍在使用旧版本的Python.
任何帮助将不胜感激.我猜想这与终端没有使用新版本的Python有关,因此AWS CLI功能无法正常工作,但可能是我不知道的其他原因.
谢谢!
解决方法:
如果您使用Python 2.6随附的easy_install安装了aws,它将被硬编码为使用Python 2.6-其第一行将如下所示:
#!/usr/bin/python2.6
这个shebang line表示脚本将与/usr/bin/python2.6一起运行.安装Python 3.3不会更改/usr/bin/python2.6中的内容.它与PATH上的内容无关,或者与python上的第一件事python无关.仅当脚本在shebang行上使用/usr/bin/env时,PATH才起作用.而且/usr/bin/env python2.6当然仍然可以找到Python 2.6.实际上,即使/usr/bin/env python仍然可以找到Python 2.6,因为3.3没有任何名为python的东西,只有python3.
同时,即使您设法对其进行破解以代替使用Python 3.3(例如,将第一行更改为/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3或/usr/bin/env python3),这只会使其完全损坏. aws脚本要求将aws软件包安装到您的站点软件包中.您已将它们安装到2.6站点程序包中,但未安装到3.3站点程序包中. (最重要的是,许多软件包为Python 2.x和3.x安装了不同的代码,因此2.6脚本即使在3.3软件包中也可能无法使用.)
无论如何,解决此问题的正确方法是从Python 2.6卸载AWS,然后为Python 3.3重新安装.
如果您按照建议使用了pip,这将很简单:
pip-2.6 uninstall awscli
pip-3.3 install awscli
不幸的是,因为您改用了easy_install,所以必须手动将其卸载.
实际上,您不需要卸载软件包,只需卸载最终位于/usr/local/bin或PATH中其他位置的脚本.我怀疑rm /usr/local/bin / aws *将解决此问题,但请小心-确保在那里没有安装任何以aws开头但不属于软件包的内容.
同时,为了将来,请安装pip并使用它.对于Apple的Python 2.6,请使用sudo easy_install pip进行安装.对于Python 3.3,请按照pip网站上的说明进行操作.
内容总结
以上是互联网集市为您收集整理的更新Python以与AWS CLI一起使用全部内容,希望文章能够帮你解决更新Python以与AWS CLI一起使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。