我尝试在 Mac OSX 上运行 ElasticBeanstalk CLI 工具时遇到错误。我一直在解决路径问题,希望有人能提供一些线索。这是我的设置。
我正在运行 Mac OS X El Capital 10.11.6,并且我已经手动安装了 Python 3.4(通过 python.org 上的下载安装程序)。我可以看到它安装正确在
/Library/Frameworks/Python.frameworks/Versions
。以 python3
开头的命令按预期工作。我还通过运行 sudo pip3 install --upgrade awsebcli
安装了 AWS ElasticBeanstalk CLI 工具,并可以确认它位于 /Users/myuser/Library/Python/3.4/lib/python/site-packages/
目录中。
我尝试过修改我的
~/.bash_profile
,以及删除它。当我运行 echo $PATH
时,这是我的输出:
/Users/myuser/Library/Python/3.4/lib/python/site-packages/ebcli/:
/Library/Frameworks/Python.framework/Versions/3.4/lib/python/site-packages:
/Library/Frameworks/Python.framework/Versions/3.4/bin:
/Users/myuser/.rvm/gems/ruby-2.2.4/bin:
/Users/myuser/.rvm/gems/ruby-2.2.4@global/bin:
/Users/myuser/.rvm/rubies/ruby-2.2.4/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/opt/X11/bin:
/usr/local/git/bin:
/Users/myuser/.rvm/bin
这是我的
~/.bash_profile
# Load the default .profile
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile"
# Load RVM into a shell session *as a function*
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
# Setting PATH for Python 3.4 site packages
PATH="/Library/Frameworks/Python.framework/Versions/3.4/lib/python/site-packages:${PATH}"
PATH="/Users/myuser/Library/Python/3.4/lib/python/site-packages/ebcli/:${PATH}"
export PATH
经过多次尝试和错误,我终于成功了。这是我采取的步骤。
安装了适用于 Python 3+的 AWS CLI 工具。
pip3 install awscli
卸载了 /System/Library/Python
的
EB CLI。
pip3 uninstall awsebcli
卸载了 /Library/Python
的
EB CLI。
pip3 uninstall awsebcli
使用 /Library/Python
安装了
pip
的 EB CLI。
pip3 install awsebcli
从我的
~/.bash_profile
中删除了站点包目录的路径。
将以下内容添加到我的
~/.bash_profile
。
# Setting the path for Python 3.4 PATH="/Library/Frameworks/Python.framework/Versions/3.4:${PATH}" export PATH
打开一个新的终端窗口。 (也可以运行
source ~/.bash_profile
)。
更改为项目目录。
运行
eb --version
并得到以下输出:
EB CLI 3.9.0 (Python 3.4.4)
我意识到发布自己的答案并不酷,但希望我的尝试和错误会对其他路径混乱的人有所帮助。
这在 Mac 上为我完成了:
brew install awsebcli
来自:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html
我也遇到了同样的问题。只需升级 awsebcli 即可有所帮助:
pip install --upgrade awsebcli
我遇到了同样的问题,我按照 aws 官方文档 上提供的说明进行操作,并且成功了。
git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer
echo 'export PATH="/home/<YOUR_USERNAME>/.ebcli-virtual-env/executables:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
然后
eb --version
给出了预期的输出:
EB CLI 3.15.3(Python 3.7.2)
使用 Zsh,这对我有用。从 python 主网站安装最新的 python 包,然后:
export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH
并将配置文件设置为
$ source ~/.zshrc
已安装,
pip3 install awscli
和 pip3 install awsebcli
检查版本以验证:
eb --version // EB CLI 3.12.4 (Python 3.6.4)
希望这有帮助。
自制解决方案
升级到 macOS Big Sur 时,我的
eb
cli 命令停止工作。我的 /usr/local/bin/eb
文件中的 shebang 行引用了旧版本的 Python,该版本因操作系统升级而被淘汰。
我升级并重新链接了
awsebcli
,现在一切都恢复正常了。
brew upgrade awsebcli
brew link --overwrite aws-elasticbeanstalk
eb --version
我也有同样的问题。 首次安装时请勿运行“pip install awsebcli --upgrade --user”!改为运行“pip install awsebcli”。
修复步骤:
完成上述步骤后,“eb --version”应该显示正确的版本,没有错误。
重新安装 awsebcli 时收到此警告: 警告:脚本 eb 和 ebp 安装在“/Users//Library/Python/3.8/bin”中,该路径不在 PATH 上。
在这种情况下,只需将以下路径添加到您的 ~/.bash_profile 中即可正常工作。
export PATH=/Users/<you>/Library/Python/3.8/bin:$PATH
在索诺玛 macOS 14 中 如果您这样做,请从 pip 卸载
pip3 uninstall awsebcli
然后
brew install awsebcli
brew link --overwrite aws-elasticbeanstalk
eb --version