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