如何使用 pyenv 在 MacOS 上安装和使用不同版本的 python
How install and use different versions of pythons on MacOS using pyenv
开始时我 运行 $ which python3
我得到:
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
在我的 .zprofile 中我有:
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
所以一开始,我安装了 3.8 并且可以正常工作。现在,我需要创建一个设置,允许我为不同的项目安装和使用不同版本的 python。
所以,我尝试了以下方法:
$ brew update
$ brew install pyenv
$ pyenv version
打印出来System
。所以,它只能看到macos自带的python 2.7。然后我试了:
$ pyenv install 3.9.1
$ pyenv install 3.8.7
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
$ source ~/.zshrc
现在,在我的 .zshrc
文件的末尾,我有:
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
但当我 运行 $ pyenv version
时,我仍然只得到 System
。我知道 ~/.pyenv/versions
目录中安装了不同的 python 版本。那么,我还应该做些什么才能得到它
列出所有版本并在它们之间来回切换?
首先,要使 pyenv
正常工作,您应该卸载 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3
中的 Python 并将其从 $PATH
中删除。
如果您使用 pyenv
来管理您的 Python 版本,那么您不应以任何其他方式安装 Python。 pyenv
将在您切换 Python 版本时自动更新您的路径。
接下来,您需要通过
设置pyenv
的默认Python版本
$ pyenv global 3.9.1
在命令行上。
最后,要切换Python版本,可以使用
$ pyenv local 3.8.7
在命令行上。请注意,设置本地 Python 是粘性的,并且在每个目录的基础上工作。因此,对于需要特定 Python 版本的每个目录,请使用此命令一次。
有关详细信息,请参阅 https://github.com/pyenv/pyenv/blob/master/COMMANDS.md
开始时我 运行 $ which python3
我得到:
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
在我的 .zprofile 中我有:
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
所以一开始,我安装了 3.8 并且可以正常工作。现在,我需要创建一个设置,允许我为不同的项目安装和使用不同版本的 python。
所以,我尝试了以下方法:
$ brew update
$ brew install pyenv
$ pyenv version
打印出来System
。所以,它只能看到macos自带的python 2.7。然后我试了:
$ pyenv install 3.9.1
$ pyenv install 3.8.7
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
$ source ~/.zshrc
现在,在我的 .zshrc
文件的末尾,我有:
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
但当我 运行 $ pyenv version
时,我仍然只得到 System
。我知道 ~/.pyenv/versions
目录中安装了不同的 python 版本。那么,我还应该做些什么才能得到它
列出所有版本并在它们之间来回切换?
首先,要使 pyenv
正常工作,您应该卸载 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3
中的 Python 并将其从 $PATH
中删除。
如果您使用 pyenv
来管理您的 Python 版本,那么您不应以任何其他方式安装 Python。 pyenv
将在您切换 Python 版本时自动更新您的路径。
接下来,您需要通过
设置pyenv
的默认Python版本
$ pyenv global 3.9.1
在命令行上。
最后,要切换Python版本,可以使用
$ pyenv local 3.8.7
在命令行上。请注意,设置本地 Python 是粘性的,并且在每个目录的基础上工作。因此,对于需要特定 Python 版本的每个目录,请使用此命令一次。
有关详细信息,请参阅 https://github.com/pyenv/pyenv/blob/master/COMMANDS.md