修改不同 python 專案時,需要對該專案所使用的 python 版本做切換,如果想全部裝在 host 而不使用 docker 隔離該怎麼處理?python 有像 nodejs 的 nvm 之類的管理工具嗎?那就是 pyenv!就讓我們來看看該如何使用。
首先安裝 pyenv,這邊我們使用 brew 安裝
brew install pyenv
接下來透過 pyenv 安裝你想要的 python 版本們(千萬不要手殘自己下載安裝檔安裝!)
pyenv install 3.8.7 # 這邊以 3.8.7 為例
如果還需要其他的版本,也使用相同的指令安裝。
切換要使用的預設 python 版本
pyenv global 3.8.7 # 這邊以 3.8.7 為例
查看目前 python 使用那一個版本
pyenv version
查看目前安裝了哪些版本
pyenv versions # 多一個 s
最最最重要的是,要把以下指令貼到 .bash_profile 最後面(或.zshrc 如果使用 zsh 的話),如此每次開一個新的 shell 就能自動 init pyenv
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
也可以使用懶人一行指令解決
# .bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
# .zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
如此以後開 console 就能使用 pyenv 管理 python 版本了!
延伸閱讀:Python 詭譎的 default parameter value ,由踩坑來學習!
參考資料
The right and wrong way to set Python 3 as default on a Mac
github – pyenv