在macOS Sierra中,如何配置AWS CLI以使用Python3.x而不是OS默认Python2.7?

问题描述 投票:6回答:3

AWS CLI Mavens,

通过macOS的终端,尝试在macOS Sierra 10.12.6上安装和配置AWS CLI,使用Python 3.6.2而不是macOS的默认Python 2.7.10。

虽然我严格遵循AWS的指示(http://docs.amazonaws.cn/en_us/cli/latest/userguide/cli-install-macos.html),包括配置./bash_profile:

# Setting PATH for Python 3.6.x
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

并通过**echo $PATH**仔细检查

PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

执行时

$ aws --version

结果总是如此:

aws-cli/1.10.60 Python/2.7.10 Darwin/16.7.0 botocore/1.4.50

提前感谢您提供有关如何配置AWS CLI以忽略Python 2.7.10并通过Python 3.6.x执行的任何建议。

飞机Wryter

python amazon-web-services command-line-interface macos-sierra aws-cli
3个回答
6
投票

在我的情况下,通过以下方式解决这个问题。

$ pip3 --version
  pip 18.1 from {....} (python 3.6)
$ export PATH=~/.local/bin:~/Library/Python/3.6/bin:$PATH 
$ pip3 install awscli --upgrade  # without --user
$ aws --version
  aws-cli/1.16.22 Python/3.6.5 Darwin/18.2.0 botocore/1.12.12

2
投票

听起来你可能在不同版本的Python下安装了两次awscli,并且安装在System Python上的版本优先。

尝试运行这两个命令,看看它是否同时显示:

$ pip3 freeze | grep awscli

然后:

$ pip2 freeze | grep awscli

如果它在后者中列出,则运行:

$ pip2 uninstall awscli

今天全新安装,这是我得到的输出:

$ aws --version
aws-cli/1.11.162 Python/3.6.2 Darwin/15.6.0 botocore/1.7.20

我不太熟悉AWS建议如何在macOS上安装Python,但我认为最灵活的方法是通过pyenv安装brew然后通过pyenv管理你的Python版本。这使您可以灵活地同时安装Python 2和Python 3的多个颠覆,以及System Python。我也会在这里推荐这种方法。


0
投票

你是怎么安装awscli的?你使用Python 3附带的pip了吗?

检查您正在使用的pip,并使用Python 3的那个来安装awscli。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.