Pyenv 是一個 Python 版本控制的套件,安裝好後可以輕鬆切換 Python 版本,如果你有 Python 版本切換的困擾的話,那 Pyenv 絕對是你的好幫手!本篇從 Pyenv 安裝 (Mac,Windows,Linux) 教學,到 Python 版本切換都有詳細介紹。
Table
如何安裝 Pyenv?
1. Mac 安裝 Pyenv
- 更新 Homebrew,和安裝 Pyenv 的相依套件
1 2 |
$ brew update $ brew install openssl readline sqlite3 xz zlib |
- 利用 Homebrew 在 Mac 安裝 pyenv
1 |
$ brew install pyenv |
- 執行以下指令,在 ~/.zshrc 加入 PYENV_ROOT 路徑和 pyenv init
1 2 3 |
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc |
- 重新啟動 shell,就完成囉!
1 |
$ exec "$SHELL" |
2. Windoes 安裝 Pyenv
- 使用 git 下載 pyenv-win
1 |
$ git clone https://github.com/pyenv-win/pyenv-win.git "$HOME/.pyenv" |
- 設定環境變數
1 2 3 4 |
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User") |
- 重新開啟終端機,就完成囉!
3. Linux 安裝 Pyenv
- 更新 apt-get 和安裝相依性套件
1 2 |
$ apt-get update $ apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git |
- 利用 git 安裝 pyenv
1 |
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv |
- 執行以下指令,在 ~/.bashrc 加入 PYENV_ROOT 路徑和 pyenv init
1 2 3 |
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc |
關於其他 system 需要安裝的相依套件,可以參考這篇文件:
https://github.com/pyenv/pyenv/wiki#suggested-build-environment
- 重新啟動 shell,就完成囉!
1 |
$ exec "$SHELL" |
4. 如何驗證 Pyenv 有沒有安裝成功?
1 2 |
$ pyenv versions >> * system (set by /Users/max/.pyenv/version) |
如何使用 Pyenv 切換 Python 版本
- 查看 pyenv 可安裝 Python 版本
1 2 3 4 5 6 7 |
$ pyenv install -l >>> 3.7.6 >>> 3.7.7 >>> 3.8.0 >>> 3.8.1 >>> 3.8.2 ... |
- 安裝想選擇的 python 版本
1 |
$ pyenv install -v 3.7.7 |
- 查看已經安裝過的 pyenv python 版本
1 2 3 |
$ pyenv versions >>> * system (set by /Users/max/.pyenv/version) >>> 3.7.7 |
- 切換 Python 版本,可以選擇用 global、local 或 shell 來執行:
1 |
$ pyenv global 3.7.7 |
1 |
$ pyenv local 3.7.7 |
1 |
$ pyenv shell 3.7.7 |
global & local & shell 三者使用方法差異在於:
- global 對應於全局
- local 對應於當前資料夾
- shell 對應於當前 shell
- 優先順序是 shell > local > global
Pyenv 切換 python 版本成功後,如何查看?
可以使用 python3 –version 來查看目前 python 版本,如果顯示的是你剛設定的版本,就代表成功囉
1 2 |
$ python3 --version >>> Python 3.10.1 |
Pyenv 如何切換成原始系統的版本?
可以使用 pyenv {{global}} system,system 代表原本系統的 python 版本,就可以切換回去囉!
1 |
$ pyenv global system |
關於 Python 教學的延伸閱讀:
▍本站的其他相關教學:
- [Python教學] 基礎指南全集
- [Python教學] 一切皆為物件,到底什麼是物件 Object ?
- [Python教學] 物件導向 – Class 類的 封裝 / 繼承 / 多型
- [Python教學] 裝飾詞原理到應用
- [Python教學] @property 是什麼? 使用場景和用法介紹
- [Python教學] Class / Static / Abstract Method 初探
- [Python教學] dataclass 是什麼? (python 3.7+)
以上就是使用 Pyenv 切換 Python 的使用教學,希望對你有幫助,那本篇就介紹到這邊,任何問題歡迎底下留言!