[樹莓派] 建立 Python 虛擬環境

接下來的專案會需要用到虛擬環境,本篇主要說明環境如何建置以及最最最基本的操作方式。

需要物品

已經設定好的樹莓派。


安裝套件

使用以下指令安裝兩個會用到的套件,並檢查是否有安裝成功:
$ sudo python3 -m pip install virtualenv
$ sudo python3 -m pip install virtualenvwrapper

(順便偷提一下: virtualenvwrapper-win 套件是用於 Windows 的。)

$ python3 -m pip list

輸入完成以上命令後,可檢查是否有在列表內,若有成功安裝應該是能夠找得到的:

然後在終端中運行以下命令,以重新載入啟動文件:

$ sudo nano ~/.bashrc

並輸入以下內容:

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

關於 nano 這個文字編輯器的相關使用方式可以自行搜尋,在這裡主要是拉到檔案最下面並新增上方文字,接著操作 ctrl + O 並 Enter 複寫後儲存檔案,並 ctrl + X 離開檔案。

接著使用下方指令重新載入更新的文件:

source ~/.bashrc

建立虛擬環境

已經裝好套件候,可以建置名字叫做 env1 的虛擬環境並啟動了(可以取任何你想要的名字):

mkvirtualenv env1 -p python3

可以看到目前已經進入名叫 env1 的虛擬環境(前方會有括號虛擬環境的名字)。

要離開的話,使用 deactivate 指令:
(env1) pi@raspberrypi:~ $ deactivate

若想要檢查目前已經建置的環境,使用 lsvirtualenv
(env1) pi@raspberrypi:~ $ lsvirtualenv

/home/pi/.virtualenvs 的目錄下,也是可以看得見該環境的資料夾。

使用虛擬環境

接著我們就要在虛擬環境底下做事了。
$ workon env1

成功啟動之後,我們要看看目前這個環境中的套件清單:
(env1) pi@raspberrypi:~ $ pip list

噢,還真是乾淨整潔。我們可以在這個環境中安裝任何我們想要的套件,並且不會影響到其他環境。

刪除虛擬環境

可以建置,當然也可以移除。若還在虛擬環境內,記得要先退出再操作。
知道要移除的環境名稱後,使用 rmvirtualenv env1 指令:
$ rmvirtualenv env1


為什麼要建立虛擬環境?

我記得之前在打包程式的時候,完全不知道虛擬環境這種東西,結果打包出來的程式大得嚇人。後來才知道,其實每個專案使用的套件、版本都不一樣,本來就需要根據不同的需求去安裝函式庫。像我一樣通通都安裝在同一個環境,甚至連打包都沒有另外建置環境,真的很可怕。

既然每個專案的需求都不同,那我們就針對每個專案去設計環境,這樣就不會讓我們的開發環境變得亂七八糟,管理上也較為容易。

這是蠻重要的概念,但印象中之前的開發相關課程都沒有先建立這個觀念,我覺得非常不妥。

文章圖片皆是 Alex’s Spot 本站之機器以及親自操作之畫面截圖。

讓我知道你在想什麼!