利用 conda 建立及管理 Python 虛擬環境

by KC
6 comments
利用 conda 建立及管理 Python 虛擬環境
利用 conda 建立及管理 Python 虛擬環境

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

1. Conda 是什麼?

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

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

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

conda 建立及管理虛擬環境步驟
conda 建立及管理虛擬環境步驟

Step 1. 安裝及更新 conda

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

Anaconda Prompt
Anaconda Prompt

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

conda –V
檢查目前conda版本
檢查目前conda版本

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

conda update conda

Step 2. 建立虛擬環境

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

conda env list
利用conda建立虛擬環境
利用conda建立虛擬環境

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

利用 Anaconda Navigator 建立虛擬環境
利用 Anaconda Navigator 建立虛擬環境

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

conda create --name myenv36 python=3.6
利用conda建立特定Python版本虛擬環境
利用conda建立特定Python版本虛擬環境

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

虛擬環境的用法
虛擬環境的用法

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

查看建立的虛擬環境
查看建立的虛擬環境

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

在 Anaconda Navigator 中查看虛擬環境
在 Anaconda Navigator 中查看虛擬環境

Step 3. 啟用虛擬環境

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

activate myenv36
啟用虛擬環境
啟用虛擬環境

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

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

source activate myenv36

Step 4. 安裝套件及使用

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

conda list
 查看目前已安裝套件列表
查看目前已安裝套件列表

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

conda install matplotlib
安裝 Matplotlib 繪圖庫
安裝 Matplotlib 繪圖庫

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

增加 Matplotlib 套件
增加 Matplotlib 套件

筆者提供一小段 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
執行 Matplotlib 範例
執行 Matplotlib 範例

Step 5. 停用虛擬環境

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

conda deactivate
 停用虛擬環境
停用虛擬環境

而在 macOS 或 LINUX 則可以使用

source deactivate

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

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

conda remove --name myenv36 matplotlib
刪除套件(Packages)
刪除套件(Packages)

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

conda env remove --name myenv36
刪除虛擬環境前需要先 deactivate 這個虛擬環境
刪除虛擬環境前需要先 deactivate 這個虛擬環境

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

從 Anaconda Navigator 中查虛擬環境 myenv36 已經移除
從 Anaconda Navigator 中查虛擬環境 myenv36 已經移除

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

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

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

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

Related Posts

6 comments

利用 Anaconda Navigator 建立及管理 Python 虛擬環境 (2022更新版) – Simple Learn 2022-08-11 - 14:24

[…] 使用 conda 來建立虛擬環境(可參考文章:「利用 conda 建立及管理 Python 虛擬環境」) […]

Reply
Conda vs. pip vs. virtualenv 命令使用比較 – Simple Learn 2022-08-14 - 18:55

[…] 利用 conda 建立及管理 Python 虛擬環境 […]

Reply
Kai 2022-09-02 - 11:36

謝謝分享整理,指令都很有用!

Reply
KC 2022-09-13 - 16:08

不會,希望對大家有幫助~~😄
也歡迎訂閱及分享~~

Reply
Conda vs. pip vs. virtualenv 命令使用比較 – SimpleLearn 2023-02-09 - 12:46

[…] 利用 conda 建立及管理 Python 虛擬環境 […]

Reply
利用 Anaconda Navigator 建立及管理 Python 虛擬環境 (2023更新版) – SimpleLearn 2023-02-09 - 13:08

[…] 使用 conda 來建立虛擬環境(可參考文章:「利用 conda 建立及管理 Python 虛擬環境」) […]

Reply

Leave a Comment

error: Content is protected !!