目錄
    Add a header to begin generating the table of contents

    VSCode 2/5: 設定虛擬環境 Virtual Env,管理 Python 專案!

    VSCode 2/5: 設定虛擬環境(Virtual Env), 管理 Python 專案!
    Share on facebook
    Share on twitter
    Share on linkedin
    Share on whatsapp
    目錄
      Add a header to begin generating the table of contents

      如果您仍未安裝 Python 或 Visual Studio Code,可以參考這篇關於 VS Code 的文章喔:

      經過上次的 VS Code 安裝簡介後,我們正式進入進入 Python 編程了!

      寫 Code 的第一步,是做好專案管理(Project Management)。今天我們會學習如何使用一個虛擬環境(Virtual Environment)管理我們的 Python 專案。

      為什麼需要虛擬環境(Virtual Environment)?

      虛擬環境是一個類似沙盒(Sandbox)的概念。透過建立獨特於每個 Python 專案的虛擬環境,我們可以在不影響其他專案的情況下,控制:

      • 這個專案使用的 Python 版本
      • 這個專案安裝並使用的 Python libraries
      • 這個專案的 Python 偏好設定

      試想像我們有兩個專案:專案 A 使用大量的 Python libraries,而專案 B 使用少量的 Python libraries。

      我是廣告 ^o^

      當我們部署(Deploy)這 2 個專案到伺服器時,我們需要要求每個伺服器安裝所需的 Python libraries。如果我們沒有以虛擬環境分隔專案 A 與專案 B,則專案 B 會安裝大量無需的 Python libraries。

      更甚的是假如專案 A 的 libraries 不相容於專案 B,那麼我們沒有虛擬環境下,便不能運行專案 B(因為我們沒有專案 B 所需的 libraries)。

      由此可見,虛擬環境是其中一個編程的好習慣(Best Practice),省卻我們部署專案、完成企劃時的煩惱。

      如何安裝虛擬環境?

      虛擬環境(Virtual Environment)是一個可以使用 pip 管理員安裝的 Python 插件。

      我們首先開啟 VS Code,並按一下 Cmd + Shift + P 開啟 Command Palette。輸入「terminal」,並選取「Python: Create Terminal」的選項。

      我是廣告 ^o^

      如您沒有「Python: Create Terminal」的選項,可以參考這篇教學,從 Extension Store 安裝「Python」插件:VSCode 1/3: macOS 最佳 Python 編程工具?豐富的插件商店?Visual Studio Code 安裝攻略

      VS Code 下方應該會出現「TERMINAL」。

      如果您見到如下圖的的彈出,按一下「Select Python Interpreter」

      選擇「Python 3.7.10 64-bit」或其他您已安裝的 Python 3 版本。

      如您找不到 Python 3 的版本,或未在 macOS 安裝 Python 3,可以按這個連結:macOS 如何下載安裝 Python 3?教您輕鬆逐步用 Homebrew

      我是廣告 ^o^

      成功後,回到 VS Code 下方的 TERMINAL,輸入以下代碼並按 Return(Enter):

      pip3 install virtualenv

      如果您安裝的是 pip 而非 pip3,可以使用 pip install virtualenv

      看到「Successfully installed …… virtualenv-20.6.0」(或其他版本)即表示您已成功安裝 virtualenv,可以建立新的虛擬環境了。

      第 1 步:建立新文件夾

      以下的步驟適用於每一次開啟新的 Python 專案(Project)。

      如果您的 VS Code 顯示「Open Folder」或下面的列是紫色,我們需要先建立一個專屬這個專案的文件夾。

      我是廣告 ^o^

      按一下「Open Folder」。

      建立並選擇一個新的文件夾。

      按一下「Yes, I trust the authors」繼續。這是 VS Code 的保護機制,讓我們避免運行惡意的代碼。

      最後,我們應該在 VS Code 底下見到藍色的列(而非紫色),而左邊的 Explorer 顯示我們在「vscode-example」的文件夾裡。

      第 2 步:在文件夾建立虛擬環境

      首先我們如上按 Cmd + Shift + P 開啟 Command Palette,並選擇「Python: Create Terminal」。

      我是廣告 ^o^

      留意我們的 Terminal 第一行的「%」前應該出現「vscode-example」(或您自訂的文件夾名稱)的字眼如下圖黃色框裡。

      在 TERMINAL 輸入以下的代碼,並按一下 Return(Enter):

      virtualenv .venv

      Terminal 完成處理後,您應該見到左邊的 Explorer 裡多了「.venv」的文件夾。這是我們虛擬環境的文件夾,用以安裝所需 Python libraries。

      按一下 Terminal 右上方的垃圾桶。

      現在我們需要切換至虛擬環境。

      我是廣告 ^o^

      按一下 Cmd + Shift + P 開啟 Command Palette,並輸入和選擇「Python: Select Interpreter 」。

      先按一下右上方的重新整理按鈕,然後選擇「Python 3.7.10 64-bit (‘.venv’: venv)」。

      留意這個 Interpreter 的文件夾是「./.venv/bin/python」,即是我們在 .venv 文件夾裡的虛擬環境,千萬別選錯了。

      再按 Cmd + Shift + P 開啟 Command Palette,並選擇「Python: Create Terminal」。

      留意左下方,藍色的條上顯示「Python 3.7.10 64-bit (‘.venv’: venv)」,即是我們已經選擇了剛建立的虛擬環境。

      我是廣告 ^o^

      完成開啟後,您應該如下圖版見到 (.venv) user@computer vscode-example % 的字眼,代表我們已經選取了虛擬環境了。

      第 3 步:在虛擬環境安裝 Python libraries

      警告 ⚠️:請先完成第 2 步的設置,並確認已選擇在編程專案文件夾的虛擬環境。

      現在我們可以在虛擬環境安裝所需的 Python libraries。重點是:使用了虛擬環境後,我們應該擁有一個獨立於其他專案(Project)的 Python libraries 安裝列表。

      首先我們檢查是否以選擇虛擬環境。如下圖黃色框,我們應該見到「.venv」等的字眼。

      在 Terminal 輸入以下指令,在虛擬環境安裝 pandasplotly

      pip install pandas plotly

      完成後,我們在 Terminal 輸入以下指令:

      我是廣告 ^o^
      pip freeze

      這指令讓我們可以列舉全部在這個虛擬環境下已經安裝的 Python libraries。我們可以見到有 pandas、plotly 以及其他支援這 2 個 Library 所需的部件。

      (可略過)比對系統環境的 Python libraries

      完成以上步驟後,我們在 Mac 開啟新的 Terminal.app(可以在 Launchpad 找「Terminal」),並輸入以下指令:

      pip3 freeze

      上圖顯示系統的環境裡沒有我們剛在 .venv 虛擬環境安裝的 pandas 與 plotly。

      由此可見,虛擬環境讓我們可以分割每個 Python 專案的 Python 設定(如 Python 版本和 libraries),從而避免把不同專案所需的 libraries 混淆。

      重置或移除虛擬環境

      如果我們安裝了錯的 Python Library,希望重置虛擬環境怎麼辦?

      我是廣告 ^o^

      其實我們只要直接移除虛擬環境的檔案夾(例如 .venv)便可以。我們在 Python Terminal 輸入以下指令:

      rm -rf .venv

      指令完成後,您會發現在 root directory 的 .venv 檔案夾消失了,而您可以從以上第 2 步開始建立一個新的虛擬環境。

      下一步

      恭喜您已經學會設立一個新的虛擬環境,讓您的 Python 編程擁有良好的專案管理(Project management)。下一篇教學我們會開始在 VS Code 學習 Python 編程,包括使用 Terminal 運行我們的代碼和在 VS Code 使用 Jupyter Notebook。

      其他 VS Code 文章:

      如果您想了解更多有關虛擬環境的資訊,可以瀏覽這個有關虛擬環境的描述:https://code.visualstudio.com/docs/python/environments

      我是廣告 ^o^

      人氣文章

      快讓我學更多

      small_c_popup.png
      想學習 Python 嗎?
      快來訂閱我們的電子報!