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 來生成並更新套件清單。
這樣可以確保你的專案可移植、可維護,其他人也能輕鬆使用你的環境! 🚀
沒有留言:
張貼留言