02 Python 基礎教學10 所有文章

【Python教學】使用 pyenv 和 virtualenv 打造 Python 環境

python_pyenv_virtualenv_Max行銷誌

此篇先介紹如何檢查目前安裝過的 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 環境包

  1. 移動到專案資料夾內
  2. 輸入 virtualenv venv -> venv 可以替換成任何名稱
  3. 完成後,即可看到專案內多了 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教學】使用 pyenv 和 virtualenv 打造 Python 環境 的介紹就到這邊告一個段落囉!有任何問題可以在以下留言~

有關 Max行銷誌的最新文章,都會發佈在 Max 的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *