04 Python 基礎教學10 所有文章

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

python_pyenv_virtualenv_Max行銷誌

此篇先介紹如何檢查目前安裝過的 Python 環境和安裝路徑,以及介紹如何使用 pyenv 輕鬆地安裝和切換 Python 版本!搭配 virtualenv 用來建立完全隔離的 Python 虛擬環境的工具,為每個專案工程建立一套獨立的 Python 環境,從此不在擔心每個專案的套件版本。

本篇大綱:

  • 檢查目前 Python 環境
    1. 查看目前使用 Python 版本
    2. 檢查過去安裝過的 Python 版本
      1. 查看 OS 安裝的 Python 版本
      2. 查看 Homebrew 安裝的 Python 版本
      3. 查看 Anaconda 安裝的 Python 版本
      4. 查看 pyenv 安裝的 Python 版本
    3. 檢查過去 pip install 過的套件
  • 使用 pyenv 控制切換 Python 版本
    1. 如何安裝 pyenv
    2. 設定 pyenv 環境變數
    3. pyenv 指令大全
      1. pyenv install -l
      2. pyenv install -v 3.7.7
      3. pyenv versions
      4. pyenv global 3.7.7
  • 使用 virtualenv 控制套件版本
    1. 如何安裝 virtualenv
    2. 建立 virtualenv 環境包
    3. 啟動 venv 環境
    4. 關閉環境 venv 包

ㄧ. 檢查目前 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 控制套件版本

官方的 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 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!

發佈留言

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