1.3 環境建置#
本節目標#
- 建立一個能舒服使用 SymPy 的開發環境
- 學會 Jupyter Notebook / JupyterLab 的基本操作
- 認識 VS Code 與 Google Colab 兩種替代方案
- 完成第一次
init_session()啟動
三條路,任選一條#
| 方案 | 適合誰 | 特點 |
|---|---|---|
| Anaconda / Miniconda + Jupyter | 數學、資料科學背景 | 一次裝好,最省事 |
| VS Code + Python extension | 習慣寫程式的學生 | 編輯器即環境 |
| Google Colab | 不想安裝任何東西 | 打開瀏覽器就能用 |
方案一:Anaconda / Miniconda#
Anaconda 是「Python + 科學計算全家桶」的發行版,SymPy、NumPy、Jupyter 都已內建。到 anaconda.com 下載對應作業系統的安裝程式,一路按下一步即可。
嫌 Anaconda 太肥(數 GB)的話,改用精簡版 Miniconda,只含 Python 與 conda 套件管理器,再自行安裝需要的東西:
conda install sympy jupyter
建議為本書建立一個獨立環境(避免汙染系統 Python):
conda create -n sympy-math python=3.12
conda activate sympy-math
conda install sympy jupyter matplotlib
pip 安裝(輕量路線)#
若你已有 Python 但不想用 conda,直接:
pip install sympy
pip install jupyterlab # 可選:裝 JupyterLab
Jupyter Notebook / JupyterLab 使用導覽#
Jupyter 是「筆記本式」的程式介面:你在一格一格的儲存格(cell)裡寫程式,按 Shift + Enter 執行該格,結果顯示在格子下方。這種互動模式非常適合數學計算——算一步看一步。
啟動方式:
jupyter lab # 新版介面(推薦)
jupyter notebook # 經典介面
介面導覽(文字版):
- 瀏覽器視窗:左側是檔案列表,右側是工作區。
- 儲存格:有兩種常用型態——「Code」(Python 程式)與「Markdown」(筆記文字)。用工具列下拉選單切換。
- 執行:
Shift + Enter執行目前儲存格並跳到下一格;Ctrl + Enter執行但不跳格。 - 程式狀態:儲存格左邊的
[ ]顯示執行序號,[*]表示正在執行。 - 核心(kernel):選單 Kernel → Restart 可以重開 Python 程序,當變數狀態混亂時就重啟。
- 兩種模式:編輯模式(綠框,可打字)與命令模式(藍框,按
Esc進入,可用快速鍵如a在上方新增格、b在下方新增格、dd刪除格)。
Jupyter 對 SymPy 特別友好:它能用 MathJax 把 SymPy 的輸出渲染成排版精美的數學式,例如直接顯示 \(\frac{2}{3}\) 而不是 2/3。
方案二:VS Code + Python extension#
- 安裝 Visual Studio Code。
- 在延伸模組(Extensions)面板搜尋並安裝 Python(微軟官方,含 Pylance)。
- 可選:安裝 Jupyter 延伸模組,就能在 VS Code 裡直接開
.ipynb筆記本。 - 右上角選擇 Python 直譯器(若用了 conda 環境,選
sympy-math環境裡的)。 - 新增檔案
test.py,輸入import sympy後執行,確認沒有錯誤。
方案三:Google Colab(零安裝)#
不想動本機?開瀏覽器到 colab.research.google.com,登入 Google 帳號,新增筆記本即可。Colab 已內建 SymPy,直接 import sympy 就能用。缺點是需要網路、檔案存在雲端。
首次啟動 SymPy#
在本書中,每個程式區塊都假設你已經做過「初始化」。最懶惰也最方便的初始化是:
from sympy import *
init_session()
init_session() 會一次幫你做好三件事:
- 自動宣告常用符號
x, y, z, t與常用函數、常數 - 開啟漂亮的數學排版(pretty printing)
- 顯示你的 SymPy 版本資訊
執行後你會看到類似訊息:
IPython console for SymPy 1.13 (Python 3.12.0) ...
These commands were executed:
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
之後就能直接用 x、y 寫數學式了。本書為了讓每段程式可獨立執行,多數時候會明確寫出 from sympy import * 與 symbols(),但在 Jupyter 裡用 init_session() 最順手。
驗證安裝#
不管用哪種方案,跑這一段做最終確認:
import sympy
print(sympy.__version__) # 例如 1.13.3
from sympy import sqrt, simplify
print(simplify(sqrt(2)**2)) # 應該輸出 2
兩行輸出都正確,環境就建置完成了。
動手實驗#
實驗 1:查出自己的環境資訊,記錄在筆記本第一格:
import sys, sympy
print(sys.version) # Python 版本
print(sympy.__version__) # SymPy 版本
實驗 2:體驗 Jupyter 的數學排版。在 Jupyter 中執行:
from sympy import *
init_session(quiet=True)
Integral(exp(-x**2), (x, -oo, oo))
最後一格不寫 print,直接讓運算式作為儲存格的「回傳值」,就會看到排版後的積分式。把它改寫成 print(...) 再比較兩種輸出。
實驗 3:在 Colab 中執行本章 1.1 節的所有實驗,確認雲端環境與本機結果一致。
小結與練習#
- 三種環境:Anaconda/Miniconda(全家桶)、pip 輕量安裝、Google Colab(零安裝)。
- Jupyter 以儲存格互動執行,配合 SymPy 可顯示排版數學式,最適合邊算邊學。
init_session()是懶人初始化;sympy.__version__可驗證安裝。
練習
- 在你的環境中建立一個
sympy-math資料夾,放一個check.py,內容為版本驗證程式並成功執行。 - 在 Jupyter 中練習:新增儲存格、切換 Code/Markdown、重啟 kernel 三個操作。
- 比較
init_session()與手動from sympy import *+symbols()兩種寫法的差異,想想要什麼時候該用哪一種。