Python pip 套件管理
pip 是 Python 的套件管理工具,用來安裝、更新和移除第三方套件。
基本指令
安裝套件
pip install package_name
# 安裝 requests 套件
pip install requests
# 安裝特定版本
pip install requests==2.28.0
# 安裝最新版本
pip install --upgrade requests
# 安裝最小版本
pip install requests>=2.25.0
移除套件
pip uninstall package_name
pip uninstall requests
查看已安裝的套件
# 列出所有已安裝的套件
pip list
# 顯示套件詳細資訊
pip show requests
搜尋套件
# 在 PyPI 上搜尋
pip search package_name # 已停用,請直接到 pypi.org 搜尋
requirements.txt
requirements.txt 用來記錄專案需要的套件,方便在其他環境重現相同的套件版本。
產生 requirements.txt
pip freeze > requirements.txt
requirements.txt 內容範例
requests==2.28.0
numpy>=1.20.0
pandas~=1.4.0
flask
版本指定方式
| 語法 | 意義 |
|---|---|
==2.28.0 | 精確版本 |
>=2.25.0 | 最小版本 |
<=2.30.0 | 最大版本 |
>=2.25.0,<3.0.0 | 版本範圍 |
~=2.28.0 | 相容版本(>=2.28.0, <2.29.0) |
!=2.27.0 | 排除版本 |
從 requirements.txt 安裝
pip install -r requirements.txt
常用指令
# 查看 pip 版本
pip --version
# 更新 pip 自己
pip install --upgrade pip
# 查看可更新的套件
pip list --outdated
# 安裝套件到使用者目錄
pip install --user package_name
# 從 GitHub 安裝
pip install git+https://github.com/user/repo.git
# 安裝本地套件
pip install ./my_package
# 安裝開發模式(可編輯)
pip install -e ./my_package
使用國內鏡像源
如果下載速度太慢,可以使用國內的鏡像源:
# 臨時使用
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple
# 永久設定
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
常用鏡像源:
- 清華大學:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里雲:https://mirrors.aliyun.com/pypi/simple
常用套件
網路請求
pip install requests # HTTP 請求
pip install httpx # 現代 HTTP 客戶端
pip install aiohttp # 非同步 HTTP
網頁開發
pip install flask # 輕量級 Web 框架
pip install django # 全功能 Web 框架
pip install fastapi # 現代 API 框架
資料科學
pip install numpy # 數值計算
pip install pandas # 資料分析
pip install matplotlib # 繪圖
pip install scikit-learn # 機器學習
資料庫
pip install sqlalchemy # ORM
pip install pymysql # MySQL
pip install psycopg2 # PostgreSQL
pip install redis # Redis
工具
pip install pytest # 測試框架
pip install black # 程式碼格式化
pip install flake8 # 程式碼檢查
pip install mypy # 型別檢查
pip vs pip3
在某些系統上,pip 可能對應到 Python 2,pip3 對應到 Python 3:
# 確認 pip 對應的 Python 版本
pip --version
pip3 --version
# 或使用 python -m pip 確保使用正確的版本
python -m pip install package_name
python3 -m pip install package_name
套件安裝位置
# 查看套件安裝位置
pip show package_name | grep Location
# 或在 Python 中查看
import package_name
print(package_name.__file__)
常見問題
權限問題
# 使用 --user 安裝到使用者目錄
pip install --user package_name
# 或使用虛擬環境(推薦)
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install package_name
套件衝突
# 查看套件依賴
pip show package_name
# 檢查依賴衝突
pip check
離線安裝
# 下載套件(不安裝)
pip download package_name -d ./packages
# 從本地目錄安裝
pip install --no-index --find-links=./packages package_name
pipx - 安裝 CLI 工具
pipx 用來安裝 Python CLI 工具到隔離的環境:
# 安裝 pipx
pip install pipx
# 使用 pipx 安裝 CLI 工具
pipx install black
pipx install flake8
pipx install poetry