如何将python版本从3.8降级到3.7(Mac)

时间:2020-07-14 15:44:06

标签: python virtualenv okta pipenv python-3.8

我正在使用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

我已经为此苦苦挣扎了一段时间了,真的不确定如何解决这个问题。

3 个答案:

答案 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