# Python 新手指南:00-B 開發環境設定
**作者:** Tsung-Min Pai
**單位:** NTUEE
---
## 大綱
### 1 pip 套件管理器
- pip 的安裝與基本使用
- 套件安裝與管理
- requirements.txt 的使用
### 2 Miniconda 環境管理
- Miniconda 安裝與設定
- conda 環境建立與管理
- conda vs pip 的差異
### 3 Visual Studio Code
- VSCode 安裝與設定
- Python 擴充套件安裝
- 除錯與開發技巧
### 4 Google Colab
- Colab 基本介紹
- 線上程式碼執行
- 檔案上傳與下載
---
## pip 套件管理器
**什麼是 pip?**
- Python 的標準套件管理工具
- 用於安裝、升級和移除 Python 套件
- 從 Python Package Index (PyPI) 下載套件
**檢查 pip 是否已安裝:**
```bash
# 檢查 pip 版本
pip --version
# 如果沒有安裝 pip (Windows)
python -m ensurepip --upgrade
# 升級 pip 到最新版本
python -m pip install --upgrade pip
```
---
## pip 基本指令
**安裝套件:**
```bash
# 安裝最新版本
pip install numpy
# 安裝特定版本
pip install numpy==1.21.0
# 安裝版本範圍
pip install "numpy>=1.20.0,<1.22.0"
# 從 requirements.txt 安裝
pip install -r requirements.txt
# 安裝開發版本
pip install git+https://github.com/user/repo.git
```
**管理套件:**
```bash
# 列出已安裝套件
pip list
# 顯示套件資訊
pip show numpy
# 升級套件
pip install --upgrade numpy
# 解除安裝套件
pip uninstall numpy
# 檢查過期套件
pip list --outdated
```
**產生 requirements.txt:**
```bash
# 產生當前環境的所有套件清單
pip freeze > requirements.txt
pip list --format=freeze > requirements.txt
# 只產生專案直接相依的套件
pip-tools 或手動編輯
```
---
## requirements.txt 最佳實務
**requirements.txt 範例:**
```
# 資料處理
numpy==1.21.0
pandas==1.3.0
# 網路請求
requests==2.25.1
# 資料視覺化
matplotlib==3.4.2
seaborn==0.11.2
# 機器學習
scikit-learn==0.24.2
# 開發工具
pytest==6.2.4
black==21.6b0
```
**使用 requirements.txt:**
```bash
# 安裝所有相依套件
pip install -r requirements.txt
# 在新環境中重建相同環境
pip install -r requirements.txt --no-deps # 不安裝相依性
```
---
## Miniconda 環境管理
**什麼是 Miniconda?**
- 輕量級的 Python 發行版
- 包含 conda 套件管理器
- 支援建立獨立的 Python 環境
- 比 Anaconda 更小巧,可按需安裝套件
**Miniconda 安裝步驟:**
**Windows:**
```bash
# 1. 下載 Miniconda installer
# 前往 https://docs.conda.io/en/latest/miniconda.html
# 2. 執行 installer,建議選項:
# - Add Miniconda3 to PATH (勾選)
# - Register Miniconda3 as default Python (勾選)
# 3. 驗證安裝
conda --version
```
**macOS/Linux:**
```bash
# 1. 下載安裝腳本
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
# 2. 執行安裝
bash ~/Miniconda3-latest-MacOSX-arm64.sh
# 3. 重新載入 shell
source ~/.bashrc
# 4. 驗證安裝
conda --version
```
---
## conda 環境管理
**建立和管理環境:**
```bash
# 建立新環境
conda create --name myproject python=3.9
# 建立環境並安裝套件
conda create --name dataproject python=3.9 numpy pandas
# 啟動環境
conda activate myproject
# 停用環境
conda deactivate
# 列出所有環境
conda env list
# 刪除環境
conda remove --name myproject --all
```
**在環境中管理套件:**
```bash
# 啟動環境後安裝套件
conda activate myproject
conda install numpy pandas matplotlib
# 從 conda-forge 安裝
conda install -c conda-forge scikit-learn
# 混合使用 conda 和 pip
conda install numpy # 優先使用 conda
pip install some-package # 如果 conda 沒有則使用 pip
# 匯出環境設定
conda env export > environment.yml
# 從設定檔建立環境
conda env create -f environment.yml
```
---
## environment.yml 範例
```yaml
name: dataproject
channels:
- conda-forge
- defaults
dependencies:
- python=3.9
- numpy=1.21.0
- pandas=1.3.0
- matplotlib=3.4.2
- scikit-learn=0.24.2
- pip
- pip:
- requests==2.25.1
- seaborn==0.11.2
```
---
## conda vs pip 比較
| 特性 | conda | pip |
| -------------- | -------------------------------- | --------------- |
| 套件來源 | Anaconda repository, conda-forge | PyPI |
| 相依性處理 | 更好的相依性解析 | 基本相依性處理 |
| 非 Python 套件 | 支援 (如 C/C++ 函式庫) | 僅 Python 套件 |
| 環境管理 | 內建環境管理 | 需要 virtualenv |
| 安裝速度 | 較慢但更穩定 | 較快 |
| 套件數量 | 較少但品質高 | 最多最全面 |
**建議使用策略:**
```bash
# 1. 優先使用 conda 安裝主要套件
conda install numpy pandas matplotlib
# 2. 使用 pip 安裝 conda 沒有的套件
pip install specific-package
# 3. 保持環境清潔
conda clean --all # 清理暫存
```
---
## Visual Studio Code 設定
**VSCode 安裝:**
1. 前往 https://code.visualstudio.com/
2. 下載對應作業系統的安裝檔
3. 執行安裝程式
**必裝 Python 擴充套件:**
```bash
# 在 VSCode 中按 Ctrl+Shift+X 開啟擴充套件面板,搜尋安裝:
1. Python (Microsoft) - 基本 Python 支援
2. Pylance - 進階語言伺服器
3. Python Debugger - 除錯功能
4. autoDocstring - 自動產生文件字串
5. Black Formatter - 程式碼格式化
6. isort - 匯入語句排序
```
**VSCode Python 設定:**
**settings.json 設定:**
```json
{
"python.defaultInterpreterPath": "python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "88"],
"python.sortImports.args": ["--profile", "black"],
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000
}
```
---
## VSCode Python 開發技巧
**選擇 Python 直譯器:**
```bash
# 方法 1:使用指令面板
Ctrl+Shift+P → "Python: Select Interpreter"
# 方法 2:點擊狀態列的 Python 版本
# 狀態列右下角會顯示當前 Python 版本
# 方法 3:workspace 設定
# 在專案根目錄建立 .vscode/settings.json
{
"python.pythonPath": "/path/to/your/python"
}
```
**除錯設定:**
**.vscode/launch.json 範例:**
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
},
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": ["runserver"],
"django": true
}
]
}
```
**除錯快捷鍵:**
```bash
F9 # 設定/移除中斷點
F5 # 開始除錯
F10 # 逐行執行 (Step Over)
F11 # 進入函式 (Step Into)
Shift+F11 # 跳出函式 (Step Out)
Ctrl+F5 # 執行不除錯
```
---
## VSCode 實用快捷鍵
```bash
# 檔案操作
Ctrl+N # 新檔案
Ctrl+O # 開啟檔案
Ctrl+S # 儲存
Ctrl+Shift+S # 另存新檔
# 編輯操作
Ctrl+/ # 註解/取消註解
Ctrl+Shift+K # 刪除整行
Alt+Up/Down # 移動行
Shift+Alt+Up/Down # 複製行
# 搜尋與取代
Ctrl+F # 搜尋
Ctrl+H # 取代
Ctrl+Shift+F # 全域搜尋
# 終端機
Ctrl+` # 開啟/關閉終端機
Ctrl+Shift+` # 新增終端機
```
---
## Google Colab 介紹
**什麼是 Google Colab?**
- Google 提供的免費 Jupyter 筆記本環境
- 預裝常用 Python 套件
- 提供免費 GPU/TPU 運算資源
- 支援即時協作
**存取 Google Colab:**
```bash
# 1. 前往 https://colab.research.google.com/
# 2. 使用 Google 帳號登入
# 3. 點擊 "新增筆記本" 開始使用
```
**Colab 基本操作:**
```python
# 在 Colab 中執行 Python 程式碼
print("Hello, Google Colab!")
# 安裝套件
!pip install package_name
# 檢查 GPU 可用性
import torch
print(torch.cuda.is_available())
# 檢查系統資訊
!nvidia-smi # GPU 資訊
!df -h # 磁碟空間
!free -h # 記憶體使用量
```
---
## Colab 檔案操作
**上傳檔案:**
```python
from google.colab import files
# 上傳檔案
uploaded = files.upload()
# 列出上傳的檔案
import os
print(os.listdir('.'))
```
**下載檔案:**
```python
from google.colab import files
# 建立檔案
with open('example.txt', 'w') as f:
f.write('Hello, World!')
# 下載檔案
files.download('example.txt')
```
**Google Drive 整合:**
```python
from google.colab import drive
# 掛載 Google Drive
drive.mount('/content/drive')
# 存取 Drive 中的檔案
import os
os.chdir('/content/drive/MyDrive')
print(os.listdir('.'))
```
---
## Colab 進階功能
**使用 GPU/TPU:**
```python
# 1. 前往 "執行階段" > "變更執行階段類型"
# 2. 選擇 "GPU" 或 "TPU"
# 3. 點擊 "儲存"
# 驗證 GPU
import tensorflow as tf
print("GPU 可用:", tf.config.list_physical_devices('GPU'))
# 驗證 TPU
try:
tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
print('TPU 可用:', tpu.cluster_spec().as_dict()['worker'])
except ValueError:
print('TPU 不可用')
```
**Colab 魔術指令:**
```python
# 顯示所有魔術指令
%lsmagic
# 測量執行時間
%time print("Hello")
%%time
# 整個儲存格的執行時間
# 執行 shell 指令
!ls -la
!pwd
# 顯示變數資訊
%whos
# 載入外部 Python 檔案
%load filename.py
```
---
## 開發環境選擇指南
**本地開發 (VSCode + conda):**
✅ 適合正式專案開發
✅ 完整的除錯功能
✅ 版本控制整合
✅ 自訂開發環境
❌ 需要安裝設定時間
**線上開發 (Google Colab):**
✅ 免費 GPU/TPU 資源
✅ 無需安裝設定
✅ 適合機器學習實驗
✅ 即時協作功能
❌ 工作階段會過期
❌ 檔案管理較不便
**建議使用策略:**
- **學習階段**:使用 Colab 快速上手
- **小型實驗**:Colab 進行概念驗證
- **正式開發**:本地環境 + VSCode
- **機器學習**:Colab 訓練 + 本地開發
---
## 環境設定檢查清單
**基本環境:**
```bash
□ Python 3.8+ 安裝完成
□ pip 可正常使用
□ 能建立虛擬環境
□ VSCode 安裝並設定完成
□ Python 擴充套件正常運作
```
**進階環境:**
```bash
□ Miniconda 安裝完成
□ conda 環境管理正常
□ Git 安裝並設定
□ Google Colab 帳號可用
□ 常用套件安裝測試
```
**驗證安裝腳本:**
```python
#!/usr/bin/env python3
"""
開發環境驗證腳本
"""
def check_python():
import sys
print(f"Python 版本: {sys.version}")
return sys.version_info >= (3, 8)
def check_packages():
required_packages = ['numpy', 'pandas', 'matplotlib']
installed = []
missing = []
for package in required_packages:
try:
__import__(package)
installed.append(package)
except ImportError:
missing.append(package)
print(f"已安裝套件: {installed}")
if missing:
print(f"缺少套件: {missing}")
return len(missing) == 0
def main():
print("=== Python 開發環境檢查 ===")
# 檢查 Python 版本
if check_python():
print("✅ Python 版本符合要求")
else:
print("❌ Python 版本過舊,請升級至 3.8+")
# 檢查套件
if check_packages():
print("✅ 必要套件已安裝")
else:
print("❌ 請安裝缺少的套件")
print("\n環境檢查完成!")
if __name__ == "__main__":
main()
```
---
## 總結與 Q&A
我們已經涵蓋了 Python 開發環境的完整設定!
- **pip**:Python 套件管理的基礎工具
- **Miniconda**:環境管理和相依性解決方案
- **VSCode**:功能強大的程式碼編輯器
- **Google Colab**:雲端開發和機器學習平台
選擇適合自己的開發環境,開始你的 Python 學習之旅!
有任何問題嗎?