此篇先介紹如何檢查目前安裝過的 Python 環境和安裝路徑,以及介紹如何使用 pyenv 輕鬆地安裝和切換 Python 版本!搭配 virtualenv 用來建立完全隔離的 Python 虛擬環境的工具,為每個專案工程建立一套獨立的 Python 環境,從此不在擔心每個專案的套件版本。
Table
ㄧ. 檢查目前 Python 環境
1. 查看目前使用 Python 版本
1 2 3 4 5 |
python3 --version >>> Python 3.7.7 which python3 >>> /Users/max/.pyenv/shims/python |
2. 檢查過去安裝過的 Python 版本
▍查看 OS 安裝的 Python 版本
1 2 3 |
# default Apple provided # /usr/bin ls -al /usr/bin/python* |
▍查看 Homebrew 安裝的 Python 版本
1 2 3 |
# /usr/local/bin # All python versions installed via Homebrew ls -al /usr/local/bin/python* |
▍查看 Anaconda 安裝的 Python 版本
1 2 |
# anaconda3 can replace to anaconda2, miniconda, miniconda2, miniconda3 ls -al ~/anaconda3/bin/python* |
▍查看 pyenv 安裝的 Python 版本
1 2 |
# ~/.pyenv/versions ls -al ~/.pyenv/versions |
3. 檢查過去 pip install 過的套件
▍使用 pip3 list 查看安裝過的套件
1 |
pip3 list |
輸出結果:
1 2 3 4 5 6 7 8 9 10 11 |
Package Version ————————— ——— appdirs 1.4.3 distlib 0.3.0 filelock 3.0.12 importlib-metadata 1.6.0 pip 19.2.3 setuptools 41.2.0 six 1.14.0 virtualenv 20.0.15 zipp 3.1.0 |
▍使用 pip3 show 查看指定套件詳細資訊
virtualenv 可替換成任何安裝的套件
1 |
pip3 show virtualenv |
輸出結果:
1 2 3 4 5 6 7 8 9 10 |
Name: virtualenv Version: 20.0.15 Summary: Virtual Python Environment builder Home-page: https://virtualenv.pypa.io/ Author: Bernat Gabor Author-email: gaborjbernat@gmail.com License: MIT Location: /Users/max/.pyenv/versions/3.7.7/lib/python3.7/site-packages Requires: distlib, six, importlib-metadata, filelock, appdirs Required-by: |
二. 使用 pyenv 選擇 Python 版本
官方的 GitHub:
GitHub – pyenv/pyenv: Simple Python version management
1. 如何安裝 pyenv
1 2 3 |
# 安裝 pyenv brew install pyenv brew install pyenv-virtualenv |
2. 設定 pyenv 環境變數
如使用的 shell 是 bash 在: ~/.bashrc
如果是 zsh 則是在:~/.zshrc
1 2 |
export PATH=“$HOME/.pyenv/bin:$PATH” eval “$(pyenv init -)” |
▍延伸閱讀:
.bash_profile 與 .bashrc 的差異 « Jame’s Blog
Ubuntu 讀取 .bashrc 和 .bash_profile 檔案的時機
3. pyenv 指令大全
▍查看 pyenv 可安裝 Python 版本
1 2 3 4 5 6 7 8 |
pyenv install -l >>> 3.7.6 >>> 3.7.7 >>> 3.8.0 >>> 3.8-dev >>> 3.8.1 >>> 3.8.2 >>> 3.9.0a4 |
▍ 使用 pyenv 安裝特定 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 |
▍使用 pyenv 切換 Python 版本
1 2 3 |
pyenv global 3.7.7 pyenv local 3.7.7 pyenv shell 3.7.7 |
global & local & shell 三者使用方法差異在於:
- global 對應於全局
- local 對應於當前資料夾
- shell 對應於當前 shell
優先順序是 shell > local > global
三. 使用 virtualenv 建立環境
這邊會使用剛剛用 pyenv 安裝好的 Python 版本來建立 virtualenv 環境
官方的 GitHub:
GitHub – pypa/virtualenv: Virtual Python Environment builder
1. 如何安裝 virtualenv
1 |
pip3 install virtualenv |
2. 建立 virtualenv 環境包
- 移動到專案資料夾內
- 輸入 virtualenv venv -> venv 可以替換成任何名稱
- 完成後,即可看到專案內多了 venv 的資料料夾
1 2 3 4 5 |
# 建立環境時,使用環境預設 python 版本 virtualenv venv # 建立環境時,如果要指定 python 版本 virtualenv -p ~/.pyenv/versions/3.7.7/bin/python venv |
3. 啟動 venv 環境
- 注意如果剛剛 virtualenv venv 有將 venv 替換成其他名稱,這邊的 venv 要改成新名稱唷
1 |
source venv/bin/activate |
▍ 查看一下目前使用的版本
1 2 3 4 5 |
python3 --version >>> Python 3.7.7 which python >>> /Users/max/Desktop/test0330/venv/bin/python |
▍ 查看一下目前安裝的套件
1 2 3 4 5 6 7 8 |
pip3 list >>> Package Version ————— ——— pip 20.0.2 setuptools 46.1.3 wheel 0.34.2 |
4. 關閉環境 venv 包
1 |
deactivate |
參考文件:
Python 兩大環境管理神器:pyenv 和 virtualenv | 程式前沿
Python相關教學延伸閱讀:
- [Python教學] pip install 指令大全
- [Python教學] 寫給新手的Python入門操作
- [Git教學] 寫給Git初學者的入門3步驟
- Visual Studio Code必備的5個擴充和小常識
最後~
那麼有關於【Python教學】使用 pyenv 和 virtualenv 打造 Python 環境 的介紹就到這邊告一個段落囉!有任何問題可以在以下留言~
有關 Max行銷誌的最新文章,都會發佈在 Max 的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!