昨天將高雄 Pi 3 改裝 Raspberry Pi OS Bulleye 後順利讓這塊主機滿血復活, 又可以重新投入爬蟲作業了. 我其實是先找一片放了很久的 8GB TF 卡來測試, 成功後把原本的 32GB 卡 (Buster) 改燒 Bulleye, 取下來的 8GB Bulleye 就拿來給 Pi 3A+ 用吧! 之前因為考量它只有 512GB DRAM 跑桌面效能不佳, 所以改燒錄 Trixie Lite 來用, 但沒桌面環境必須透過 ngrok 提供 TCP 連接真的有點麻煩, 參考 :
由於 Pi 3B 與 Pi 3A+ 除了 USB 等介面埠差異外, 硬體上只有 DRAM 容量不同 (1GB vs 512MB) 而已, 所以 TF 卡直接移過去就可以用了, 由於 DRAM 少一半, 用 pip 安裝較大的套件時可能會爆掉, 所以要利用 TF 卡記憶體來分擔暫存區負荷.
先在使用者根目錄下建立一個 disk_tmp 資料夾 :
pi@pi3aplus:~ $ mkdir -p ~/disk_tmp
用 nano 編輯 .bashrc 檔 :
pi@pi3aplus:~ $ nano ~/.bashrc
在檔案最末端加上如下設定 :
export TMPDIR=~/disk_tmp
export TMP=~/disk_tmp
export TEMP=~/disk_tmp
存檔後跳出 nano, 執行 .bashrc 檔 :
pi@pi3aplus:~ $ source ~/.bashrc
由於之前此 8GB TF 卡在 Pi 3B 上就已重新安裝好 numpy 與 pandas, 所以可以直用 :
pi@pi3aplus:~ $ python
Python 3.9.2 (default, Mar 20 2025, 22:21:41)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> import numpy as np
>>> np.__version__
'1.26.4'
>>> pd.__version__
'2.0.3'
>>> exit()
其他可安裝套件與 Pi 3B 一樣, 參考 :
2025-12-30 補充 :
今天終於把要安裝的套件都順利裝完了, 準備離開五斗櫃測試台, 移到客廳去了.
1. 爬蟲相關 :
Bulleye 內建的 requests 與 urllib3 太舊, 執行 selenium 會報錯, 需更新 :
pip install --upgrade requests urllib3
pip install selenium
另外需安裝 chromium 與其 web driver :
sudo apt install -y chromium chromium-driver
安裝 scrapy 之前須先安裝 libffi-dev 套件, 否則會因缺失 cffi 而失敗 :
sudo apt-get update
sudo apt-get install libffi-dev
pip install scrapy
2. 資料科學 & 機器學習 :
Bulleye 內建 numpy (無 pandas), 但版本太舊安裝 pandas 會失敗, 先移除 :
pip uninstall -y numpy
pip uninstall -y numpy --user
sudo apt remove -y python3-numpy
檢查有無殘餘垃圾 & 清理 cache :
find ~/.local/lib/python3.9/site-packages/ -name "numpy*" -o -name "pandas*"
pip cache purge
安裝 pandas 要用到的 C 擴充套件 :
sudo apt-get install libatlas-base-dev
安裝指定版本的 numpy 與 pandas :
pip install --no-cache-dir "numpy<2.0" "pandas<2.1"
其他套件 :
pip install bokeh
pip install plotly
seaborn, scipy, scikit-learn 是 pyfolio-reloaded 的依賴套件, matplotlib 是 gradio 依賴套件, 不需要單獨安裝.
3. 架站套件 :
Bulleye 已內建 Flask, 但無 Django 與 gradio :
pip install django
在 Bulleye 的 Python 3.9 安裝 gradio 只能到 4.44.1, 無法到最新版, 安裝完須將依賴的 markupsafe 版本降至 2.0.1 與把 huggingface_hub 降至舊版 0.36, 否則匯入 gradio 時會報錯 :
pip install gradio
pip install markupsafe==2.0.1
python -m pip install "huggingface_hub<1.0" --upgrade --no-cache-dir
這會安裝 huggingface_hub-1.2.3, 完成後用下列指令檢查是否可正常匯入 :
pi@kaopi3:~ $ python -c "import gradio; print('成功!版本:', gradio.__version__)"
成功!版本: 4.44.1
4. 量化投資 :
pip install twstock
pip install mplfinance
pip install ta
pip install kbar
pip install backtrader
pip install pyfolio-reloaded
yfinance 雖然可安裝, 但在 Bulleye 上無法搭配 curl_cffi 抓到股票資料, 故放棄安裝.
5. Bot 套件 :
pip install line-bot-sdk
pip install python-telegram-bot
6. LLM 套件 :
pip install openai
pip install google-generativeai
用 df -h 檢查 SD 卡使用情形 :
pi@pi3aplus:~ $ df -h
檔案系統 容量 已用 可用 已用% 掛載點
/dev/root 7.1G 4.0G 2.8G 60% /
devtmpfs 85M 0 85M 0% /dev
tmpfs 214M 0 214M 0% /dev/shm
tmpfs 86M 1.1M 85M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/mmcblk0p1 255M 51M 205M 20% /boot
tmpfs 43M 20K 43M 1% /run/user/1000
用掉 6 成, 剩下 2.8GB 可用.
沒有留言 :
張貼留言