Python 近 10 年來一直在演進,因此 Python 專案的開發也需要考慮版本的問題。
例如 Python 2 已經退休了,而現在的 Python 專案都以 Python 3 為主,然而有些公司內部的老舊專案仍以 Python 2 開發,因此開發者必須在 Python 2 與 3 之間進行切換。
如果你有 Python 版本切換上的困擾,那麼 pyenv 會是你的好朋友!
本文環境
- macOS 10.15
- zsh 5.7.1
安裝方式十分簡單,透過 homebrew 即可:
1
| $ brew install pyenv
|
pyenv 設定
安裝 pyenv 完成之後,請執行以下指令,以進行後續的設定:
1
| $ pyenv init
|
執行成功之後,會出現以下的提示,告訴我們必須在
~/.zshrc
中加入 1 行 eval "$(pyenv init -)"
:1 2 3 4 | # Load pyenv automatically by appending # the following to ~/.zshrc: eval "$(pyenv init -)" |
上述設定是登入系統後就自動啟用 pyenv 。
p.s. 如果是習慣使用 bash 的使用者,需修改
.bash_profile
而不是 .zshrc
設定完成後,執行以下指令讓 SHELL 重新啟動,讓 pyenv 的設定生效:
1
| $ exec "$SHELL"
|
以上就完成設定囉!
pyenv 使用方法
pyenv 是用來幫助我們方便切換 Python 版本的工具,因此我們可以利用以下指令列出現在我們有哪些版本的 Python 可以使用:
1 2 | $ pyenv versions * system |
由於我們尚未安裝其他版本的 Python, 因此上述指令的結果只有
system
,也就是系統預設版本,在 macOS 中的版本仍是 python 2.7, 顯然不是我們應該使用的版本。
那麼 pyenv 提供哪些版本可供安裝呢?可以用以下指令列出:
1 2 3 4 5 6 7 8 | $ pyenv install --list ... 3.6.9 3.7.0 3.7-dev 3.7.1 3.7.2 ... |
查到版本後,就能以下指令安裝較新的版本,例如 Python 3.7.0 :
1
| $ pyenv install 3.7.0
|
成功之後,再執行一次
pyenv versions
,就會發現多了 3.7.0 :1 2 3 | $ penv versions * system 3.7.0 |
然後進一步用以下指令將系統預設的 Python 版本切換為 3.7.0 :
1
| $ pyenv global 3.7.0
|
可以用以下指令驗證是否已經切換為 python 3.7.0 :
1 2 | $ python --version Python 3.7.0 |
如果只是短暫想切換 Python 版本的話,可以使用
pyenv local <版本>
指令切換,該指令就只會影響當前 session 的 Python 版本,例如:1
| $ pyenv local 3.6.5
|
以上就是 pyenv 的使用方法,有興趣想進一步了解 pyenv 的話可以到 pyenv GitHub 了解。
References
from : https://myapollo.com.tw/zh-tw/pyenv/
No comments:
Post a Comment