樹莓派上使用 Pipenv 的注意事項與實用指南

在樹莓派(Raspberry Pi)上進行 Python 開發時,管理虛擬環境和套件依賴是不可或缺的一環。pipenv 是一個強大的工具,結合了虛擬環境管理與套件依賴管理功能,非常適合用於專案開發。然而,由於樹莓派的硬體限制與架構特性(ARM),在使用 pipenv 時需要特別注意一些細節。本文將針對在 Raspberry Pi OS 64-bit 環境下使用 pipenv 的安裝、設定與注意事項進行詳細說明,幫助您順利完成開發工作。


1. 安裝與初始設定

在樹莓派上安裝 pipenv 非常簡單,但為了讓後續管理更方便,建議進行一些環境變數的設定。以下是具體步驟:

# 安裝 pipenv
sudo apt install pipenv

# 設定環境變數 PIPENV_VENV_IN_PROJECT,讓虛擬環境建立在專案目錄下
echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.bashrc
source ~/.bashrc

說明:設定 PIPENV_VENV_IN_PROJECT=1 會讓虛擬環境建立在專案目錄下的 .venv 資料夾中,這樣在管理多個專案時會更加直觀與方便。預設情況下,虛擬環境會建立在 ~/.local/share/virtualenvs/,可能導致管理上的混亂。


2. 重要注意事項

在使用 pipenv 時,樹莓派的硬體限制與系統特性需要特別留意。以下是幾個關鍵點與建議:

2.1 虛擬環境位置

  • 設定位置:如前所述,建議設定 PIPENV_VENV_IN_PROJECT=1,讓虛擬環境位於專案目錄下。
  • 預設位置:若未設定,虛擬環境會位於 ~/.local/share/virtualenvs/,不利於專案管理。
  • 好處:在專案目錄下建立虛擬環境,特別適合需要在多個專案間切換的情況。

2.2 效能考量

  • 樹莓派的硬體效能相對較低,首次建立虛擬環境或安裝套件時可能需要較長時間。
  • 安裝大型套件時,速度會比一般電腦慢很多,建議耐心等待,避免中斷安裝過程。

2.3 記憶體與資源使用

  • 記憶體限制:樹莓派的記憶體有限,安裝過多套件可能導致系統資源不足。建議適量安裝必要套件。

  • 清理多餘套件:可以使用以下指令清理未使用的套件,釋放資源:

    pipenv clean
    
  • 磁碟空間檢查:在安裝大型套件前,建議檢查可用空間:

    df -h
    

2.4 版本相容性

  • ARM 架構支援:部分 Python 套件可能不支援樹莓派的 ARM 架構,或需要額外編譯才能安裝。安裝前建議確認套件相容性。

  • 錯誤處理:若遇到安裝錯誤,可嘗試以下方法:

    pipenv --rm  # 移除虛擬環境
    pipenv install --skip-lock  # 重新安裝並跳過鎖定檔案
    

2.5 Python 版本指定

  • 樹莓派上可能有多個 Python 版本,建議明確指定版本以避免相容性問題:

    pipenv --python 3.9  # 指定使用 Python 3.9
    

2.6 備份與專案管理

  • 保存依賴資訊:請務必保存 PipfilePipfile.lock 檔案,這兩個檔案記錄了專案的套件依賴資訊,方便日後還原或分享。
  • 版本控制:若使用 Git,建議將這兩個檔案納入版本控制中。

3. 常用指令一覽

以下是在專案目錄下常用的 pipenv 指令,幫助您快速上手:

# 建立新的虛擬環境
pipenv install

# 指定 Python 版本建立虛擬環境
pipenv --python 3.9

# 啟動虛擬環境
pipenv shell

# 安裝特定套件
pipenv install package_name

# 安裝開發環境專用套件
pipenv install --dev package_name

# 查看套件依賴關係圖
pipenv graph

# 離開虛擬環境
exit  # 或使用 Ctrl + D


4. 開發流程建議

為了讓開發過程更加順暢,以下是針對新專案與既有專案的建議流程:

4.1 建立新專案

# 建立專案資料夾並進入
mkdir project_name
cd project_name

# 初始化虛擬環境
pipenv install

4.2 從既有專案複製

# 複製專案並進入
git clone <repository>
cd <repository>

# 根據 Pipfile 安裝依賴
pipenv install

5. 學習心智圖

為了幫助您更系統化地學習與掌握在樹莓派上使用 pipenv 的知識,我整理了一份簡單的心智圖,方便您快速回顧重點:

  graph LR
    A[樹莓派 Pipenv 使用] --> B[安裝與設定]
    A --> C[注意事項]
    A --> D[常用指令]
    A --> E[開發流程]

    B --> B1[安裝 pipenv]
    B --> B2[設定環境變數]
    B2 --> B2a[PIPENV_VENV_IN_PROJECT=1]

    C --> C1[虛擬環境位置]
    C --> C2[效能考量]
    C --> C3[記憶體與資源]
    C --> C4[版本相容性]
    C --> C5[Python 版本指定]
    C --> C6[備份與管理]
    C3 --> C3a[清理套件: pipenv clean]
    C4 --> C4a[ARM 架構支援]
    C6 --> C6a[Pipfile 與 Pipfile.lock]

    D --> D1[建立環境: pipenv install]
    D --> D2[啟動環境: pipenv shell]
    D --> D3[安裝套件: pipenv install package]
    D --> D4[查看依賴: pipenv graph]
    D --> D5[離開環境: exit]

    E --> E1[新專案流程]
    E --> E2[既有專案流程]

結語

在樹莓派上使用 pipenv 管理 Python 專案是一個非常實用的方法,但由於硬體限制與架構特性,需要特別注意效能、資源使用與套件相容性等問題。希望本文提供的安裝指南、注意事項與實用指令能幫助您更順暢地進行開發。


參考來源

在〈樹莓派上使用 Pipenv 的注意事項與實用指南〉中有 2 則留言

發佈回覆給「Donald Knight」的留言 取消回覆