使用者開發 Python 專案時,最常遇見的問題就是不同專案可能會有不同的 Python 版本以及不同的 Packages 需要安裝,那麼在管理上就會是一個問題了。如果你只需要使用特定的套件,或是想要嘗試各種不同的環境應用,但又不想彼此的開發環境受到影響,那 Anaconda 的套件管理系統 conda 將會是一個不錯的解決方案。

Conda 是什麼?

Conda 是一個開源套件管理系統和環境管理系統,可以在 Windows、macOS 和 Linux 等作業系統上運行。Conda 可以快速安裝、執行和更新套件。Conda 在本地端的電腦上輕鬆創建、保存、載入及切換環境。它雖然是為 Python 程式所創建的,但它可以打包和發布為任何語言的軟體。

Conda 作為套件管理器可幫助您尋找及安裝套件。如果你需要不同版本 Python 來執行一些專案,你不需要切換到不同的環境管理器,因為 conda 本身就是一個環境管理器,所以只需幾個命令,您就可以設置一個完全獨立的環境來執行不同版本的 Python,同時繼續在正常環境中直行常用版本的 Python。

使用 conda 時,你可以進行建立(create)、輸出(export)、列表(list)、移除(remove)和更新(update)環境於不同 Python 版本及套件 (Packages),同時也可以分享你的虛擬環境。接下來筆者將針對 conda 如何建立及管理虛擬環境用下面 6 個步驟來說明。

Step 1. 安裝及更新 conda

安裝部分可參考筆者 Anaconda 3 安裝教學及說明官方說明,同時確認作業系統及你所需的 Python 版本。在 Windows 開始選單(Start menu)中選擇 Anaconda Prompt (如下圖所示):

此時可以輸入下列命令來檢查目前版本。

conda –V

若想要進行更新,可以輸入下列命令

conda update conda

Step 2. 建立虛擬環境

你可以輸入下面命令看目前系統已經安裝哪幾個虛擬環境。

conda env list

您也可以在 Windows 開始選單(Start menu)中選擇 Anaconda Navigator,然後點選左側功能列的 Environments (如下圖),您將可以利用此介面方式看到環境中已存在的虛擬環境。相關細節說明可以參考利用 Anaconda Navigator 建立及管理 Python 虛擬環境

假設我們要建立一個叫做 myenv36 的虛擬環境,並且是安裝 python 3.6 的版本,那我們可以鍵入下面的命令。

conda create --name myenv36 python=3.6

安裝完後會出現如下圖所示,提醒啟用停用虛擬環境的用法。

我們試著再下命令 conda env list,可列出目前虛擬環境狀況,將會看到多了一個剛建立的虛擬環境 myenv36 以及虛擬環境所在位置。

我們可以切換到 Anaconda Navigator ,此時你將看到剛剛透過 conda 所建立的 myenv36 的虛擬環境。

Step 3. 啟用虛擬環境

啟用一個新的虛擬環境可以利用下面命令。

activate myenv36

這時候在 CMD 模式下的前面會有一個(myenv36),表示你目前是處於此虛擬環境中,這時候就可以在此虛擬環境中,開始安裝你所需要的各種套件 (Packages),盡情探索機器學習或深度學習相關有趣的套件功能,而不用擔心會影響你的電腦環境。

如果你是 LINUX 或 macOS,那你所需輸入啟動的方式將會是

source activate myenv36

Step 4. 安裝套件及使用

你可以利用下面命令來查看目前此虛擬環境中已經先安裝了那些東西。

conda list

如果要在此虛擬環境下安裝所需套件,例如 matplotlib 繪圖庫 (matplotlib 它是一個可以利用 Python 讓數據視覺化的常用繪圖庫,我們會在其它文章中詳細介紹),我們可以輸入下面指令來進行安裝。

conda install matplotlib

安裝完以後,我們再輸入 conda list 一次可以查看剛剛安裝了哪些內容(呈現內容會依照使用者安裝的版本不同而有所差異)。

筆者提供一小段 matplotlib 的 Python 程式碼給大家試玩看看。有興趣的讀者可以利用各種不同的開發工具將其複製貼上並存檔。筆者提供的範例是將其存成 MyPlot3.py ,並將檔案複製到所在的資料夾中。

import matplotlib.pyplot as plt

Taipei_temp = [23.2, 23.4, 23.3, 22.7, 23.2, 23.4, 23.5, 23.8, 24, 23.9]
year = range(2008, 2018)
plt.plot(year, Taipei_temp, color = 'blue', marker='o', linestyle = '--')
plt.xlabel('Year', color = 'red')
plt.ylabel('Temperature', color = 'red')
plt.title('10-year Average Temperature', color = 'red')
plt.show()

執行下面指令將可看到執行後的結果(如下)。

python MyPlot2.py

Step 5. 停用虛擬環境

若要停用虛擬環境,可以使用下列命令

conda deactivate

而在 macOS 或 LINUX 則可以使用

source deactivate

Step 6. 刪除套件(Packages)虛擬環境

若要刪除虛擬環境中某個 套件 (Package) (例如在剛剛建立的虛擬環境 myenv36 中的 matplotlib),那可以輸入下面命令

conda remove --name myenv36 matplotlib

如果是要刪除整個虛擬環境,則需要先 deactivate 這個虛擬環境後,再輸入下面命令即可完成虛擬環境的刪除。

conda env remove --name myenv36

你也可以從 Anaconda Navigator 當中看到所建立的虛擬環境 myenv36 已經移除。

為每一個不同需求的專案建立一個獨立適合的虛擬環境是一個很好的習慣,因為它並不會去影響其他的系統配置而產生不預期問題。若在配置上產生了問題只要輕易的移除某個套件 (Package),或是再重新建構虛擬環境即可。

希望這篇文章能幫助您如何利用 conda 來建立及管理好您的虛擬環境,大家也可以參考下面另外兩個虛擬環境的安裝說明,在未來學習 Python 及機器學習專案上將會更為便利,開始好好享受接下來有趣的 Python 之旅吧!

讀者如果想要知道 Conda、pip、virtualenv 的命令使用比較,則可以參考下文章。

如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。

利用 conda 建立及管理 Python 虛擬環境 (2022更新版) 有 “ 4 則迴響 ”

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s