2025年2月15日 星期六

requirements.txt 通常放在專案的根目錄,也就是與你的 Python 程式碼 (.py 檔案) 同一層級,或是 venv 目錄的外部

 requirements.txt 通常放在專案的根目錄,也就是與你的 Python 程式碼 (.py 檔案) 同一層級,或是 venv 目錄的外部


1. 一般專案結構

當你建立一個 Python 專案時,通常會有這樣的目錄結構:

my_project/
│── myenv/               # 虛擬環境資料夾 (venv)
│── my_script.py         # 你的 Python 程式
│── requirements.txt     # 依賴清單 (一般放這裡)
│── README.md            # 項目說明

📌 requirements.txt 放在 my_project/ (根目錄),而不是 myenv/ 裡面,這樣:

  • 其他人可以直接 pip install -r requirements.txt 來還原環境。
  • requirements.txt 不會被 venv 污染,保持獨立。

2. 如何在適當位置建立 requirements.txt

當你已經安裝好所有需要的套件後,在專案的根目錄執行:

pip freeze > requirements.txt

這樣,requirements.txt 會被建立在當前目錄,也就是你的專案根目錄。

如果你誤把它放進 venv 內部 (myenv/),可以移動它:

mv myenv/requirements.txt ./

這樣它就回到正確的位置了。


3. 其他可能的放置位置

有時候,專案可能會有不同的 requirements.txt,例如:

my_project/
│── myenv/               # 虛擬環境
│── src/                 # Python 程式碼
│── requirements.txt     # 主要依賴清單
│── requirements-dev.txt # 只在開發環境用的額外套件
│── README.md
  • requirements.txt:基本的套件依賴,例如 Flask, Django, requests
  • requirements-dev.txt:開發工具,如 pytest, black, mypy

如果有這樣的區分,你可以這樣安裝:

pip install -r requirements.txt  # 安裝基本依賴
pip install -r requirements-dev.txt  # 安裝開發工具 (可選)

4. 總結

requirements.txt 一般放在專案的根目錄,不應放在 venv/ 內部。
✅ 若有多種需求 (如開發與生產環境不同),可以建立 requirements-dev.txt
✅ 使用 pip freeze > requirements.txt 來生成並更新套件清單。

這樣可以確保你的專案可移植、可維護,其他人也能輕鬆使用你的環境! 🚀

沒有留言:

張貼留言

精選文章

手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路

為了避免手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路,要修改Router Policy設定?需要把家中屬於VPN的網段設備與其他區隔?要如何設定? 為了達成您的需求: ✅ 手機連上 VPN(例如連回家中 TP-Link ER...