我正在使用Python和okta-aws工具,为了在AWS上获取正确的凭据,我需要运行okta-aws init。但收到错误消息Could not read roles from Okta
,系统提示"Your Pipfile requires python_version 3.7, but you are using 3.8.3 (/usr/local/Cellar/o/1.1.4/l/.venv/bin/python)
。
我尝试搜索Mac上的所有Pipfile,看来~/Pipfile
和/usr/local/Cellar/python@3.8/3.8.3_2/libexec/bin/Pipfile
下的Pipflie的Python版本均为3.8,而{{ 1}}具有/usr/local/Cellar/okta-aws-tools/1.1.4/libexec/Pipfile
。
我已经为此苦苦挣扎了一段时间了,真的不确定如何解决这个问题。
答案 0 :(得分:26)
考虑在macOS上使用Homebrew安装pyenv
brew update
brew install pyenv
克隆存储库以获取最新版本的pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
定义环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
重新启动外壳程序,以便路径更改生效
exec "$SHELL"
验证安装并检查可用的python
版本
pyenv install --list
安装所需的python
版本
pyenv install 3.7
在安装后将其设置为全局版本
pyenv global 3.7
验证系统正在使用的当前python
版本
python3 --version
答案 1 :(得分:2)
我建议您安装并使用pyenv(Python版本管理)。 安装pyenv后,安装python 3.7:
pyenv install 3.7
然后将环境PYENV_VERSION
设置为要使用的python版本,在这种情况下将为 3.7 :
pyenv shell 3.7
答案 2 :(得分:2)
仅酿造啤酒的方法。
rm -rf $(brew --repository)/Library/Taps/company
brew tap-new company/team
brew extract python@3.7 company/team --version=3.7.9
HOMEBREW_NO_AUTO_UPDATE=1 brew install company/team/python@3.7.9
brew link --force company/team/python@3.7.9
这将创建一个本地点击,将python 3.7.X提取到该本地点击中的公式,然后安装并链接该公式
可以在以下位置找到创建的本地水龙头和新的公式文件
$(brew --repository)/Library/Taps/company/homebrew-team