Python項(xiàng)目中requirements.txt的使用方法詳解
引言
在Python項(xiàng)目開(kāi)發(fā)中,我們經(jīng)常需要安裝多個(gè)依賴庫(kù)(比如PyQt5、OpenCV等)。逐個(gè)執(zhí)行pip install命令不僅繁瑣,還容易遺漏、出現(xiàn)版本兼容問(wèn)題。
最高效的解決方案是:創(chuàng)建一個(gè)requirements.txt文本文件,手動(dòng)寫(xiě)入所有需要的庫(kù)名(可指定版本),然后通過(guò)一條命令批量安裝所有依賴。本文全程實(shí)操,新手也能快速上手。
本文核心:從零教你「創(chuàng)建文件→編寫(xiě)庫(kù)清單→批量安裝→實(shí)用拓展」,全程無(wú)冗余,直接套用即可。
一、什么是requirements.txt?
requirements.txt 是Python項(xiàng)目的「依賴清單文件」,本質(zhì)是一個(gè)純文本文件,核心作用是:
- 統(tǒng)一項(xiàng)目依賴,避免“我本地能運(yùn)行,別人運(yùn)行報(bào)錯(cuò)”的問(wèn)題;
- 手動(dòng)編寫(xiě)需要的庫(kù),批量安裝/卸載,提升開(kāi)發(fā)效率;
- 方便項(xiàng)目備份、共享,他人拿到文件后,一鍵就能配置好和你一致的開(kāi)發(fā)環(huán)境。
重點(diǎn):文件名建議固定為requirements.txt(Python生態(tài)通用約定,pip工具可直接識(shí)別),后綴必須是.txt,不能是.txt.txt(需開(kāi)啟電腦文件后綴顯示)。
二、實(shí)操步驟:創(chuàng)建+編寫(xiě)requirements.txt
全程以「PyCharm項(xiàng)目」為例(適配你的上位機(jī)開(kāi)發(fā)環(huán)境),兩種創(chuàng)建方法,任選一種即可,新手優(yōu)先選方法1。
方法1:手動(dòng)創(chuàng)建(最直觀,新手首選)
適配場(chǎng)景:新手、不熟悉終端命令,直接通過(guò)PyCharm圖形界面操作,零門(mén)檻。
- 打開(kāi)你的PyCharm項(xiàng)目,定位到「項(xiàng)目根目錄」(和你的.py代碼文件同級(jí),比如和相機(jī)對(duì)接、PLC通信的核心代碼放在一起);
- 右鍵點(diǎn)擊項(xiàng)目根目錄 → 選擇「New」→ 點(diǎn)擊「Text File」;
- 彈出文件名輸入框,輸入 requirements.txt → 按下Enter確認(rèn)(注意:無(wú)中文、無(wú)空格);
- 雙擊打開(kāi)創(chuàng)建好的requirements.txt文件,即可開(kāi)始手動(dòng)編寫(xiě)需要的庫(kù)清單。
補(bǔ)充提示:如果找不到項(xiàng)目根目錄,可通過(guò)PyCharm左側(cè)「Project」面板查看,確保文件和核心代碼同級(jí),避免后續(xù)執(zhí)行命令時(shí)找不到文件。
方法2:終端快速創(chuàng)建(熟悉終端者首選)
適配場(chǎng)景:習(xí)慣用終端操作,快速創(chuàng)建空文件,無(wú)需圖形界面點(diǎn)擊。
- 打開(kāi)PyCharm底部的「Terminal」終端(默認(rèn)在項(xiàng)目根目錄,若不在,輸入cd 項(xiàng)目路徑 切換);
- 輸入對(duì)應(yīng)系統(tǒng)的命令,創(chuàng)建空的requirements.txt:
- Windows系統(tǒng)(你的開(kāi)發(fā)環(huán)境,重點(diǎn)記這個(gè)):
type nul > requirements.txt - Mac/Linux系統(tǒng)(了解即可):
touch requirements.txt - 按下Enter,終端無(wú)報(bào)錯(cuò),項(xiàng)目根目錄會(huì)自動(dòng)生成requirements.txt文件,雙擊打開(kāi)即可編寫(xiě)。
- Windows系統(tǒng)(你的開(kāi)發(fā)環(huán)境,重點(diǎn)記這個(gè)):
核心:編寫(xiě)requirements.txt內(nèi)容(語(yǔ)法超簡(jiǎn)單)
語(yǔ)法規(guī)則:每行寫(xiě)一個(gè)庫(kù)名,可按需指定版本(推薦指定,避免版本兼容問(wèn)題),# 開(kāi)頭的行是注釋?zhuān)粫?huì)被執(zhí)行(可用于標(biāo)注庫(kù)的用途,方便后續(xù)維護(hù))。
寫(xiě)法1:基礎(chǔ)版(只寫(xiě)庫(kù)名,安裝最新穩(wěn)定版)
適合:對(duì)庫(kù)版本無(wú)特殊要求,只想快速安裝,簡(jiǎn)潔高效。
# 注釋?zhuān)篜ython上位機(jī)依賴清單 # 界面開(kāi)發(fā)(PyQt5) PyQt5 pyqt5-tools # PLC通信相關(guān)(Modbus + S7協(xié)議,對(duì)接PLCSIM) pymodbus python-snap7 # 相機(jī)對(duì)接 + 視覺(jué)處理 opencv-python # 對(duì)接??倒I(yè)相機(jī)(官方SDK封裝) hikvision-api # 輔助工具 numpy # 保存檢測(cè)數(shù)據(jù)到Excel(上位機(jī)剛需) openpyxl # 串口通信(備用,對(duì)接串口PLC/傳感器) pyserial
寫(xiě)法2:進(jìn)階版(指定版本,推薦項(xiàng)目使用)
推薦理由:Python庫(kù)版本更新快,不同版本可能存在兼容性問(wèn)題(比如PyQt5高版本和pyqt5-tools不匹配、python-snap7版本過(guò)高導(dǎo)致無(wú)法連接PLCSIM),指定版本能確保環(huán)境一致性。
格式:庫(kù)名==版本號(hào)(==前后無(wú)空格),以下是適配你項(xiàng)目的穩(wěn)定版本組合,可直接復(fù)制使用。
# Python上位機(jī)依賴清單(指定版本,穩(wěn)定兼容) # 界面開(kāi)發(fā)(PyQt5穩(wěn)定版本,避免報(bào)錯(cuò)) PyQt5==5.15.9 pyqt5-tools==5.15.9.3.0.1 # PLC通信(適配PLCSIM Advanced 5.0) pymodbus==2.5.3 # Modbus TCP通信,穩(wěn)定無(wú)bug python-snap7==1.4.1 # S7協(xié)議,對(duì)接西門(mén)子PLC/PLCSIM opencv-python==4.8.1.78 # 穩(wěn)定版,避免取流卡頓 hikvision-api==0.3.5 # ??迪鄼C(jī)SDK封裝,適配MVS SDK # 輔助工具(版本兼容,無(wú)冗余) numpy==1.24.3 # 適配OpenCV 4.8.1 openpyxl==3.1.2 # 操作Excel,支持批量保存數(shù)據(jù) pyserial==3.5 # 串口通信,備用
寫(xiě)法3:其他常用補(bǔ)充(了解即可)
- 指定版本范圍:比如 numpy>=1.20.0,<1.25.0(安裝1.20.0到1.25.0之間的版本);
- 從指定地址安裝:比如 git+https://github.com/xxx/xxx.git(適用于安裝第三方開(kāi)源庫(kù)的開(kāi)發(fā)版);
- 卸載時(shí)使用:和安裝語(yǔ)法一致,后續(xù)會(huì)講批量卸載命令。
三、關(guān)鍵步驟:批量安裝所有依賴
編寫(xiě)完requirements.txt后,無(wú)需逐個(gè)執(zhí)行pip install,一條命令就能批量安裝所有庫(kù),步驟如下:
1. 打開(kāi)終端,切換到項(xiàng)目根目錄
打開(kāi)PyCharm的Terminal終端(底部),默認(rèn)已經(jīng)在項(xiàng)目根目錄;若不在,輸入以下命令切換(替換為你的項(xiàng)目路徑):
cd D:\PyCharmProjects\PLC_Camera_UpperComputer # 示例路徑,替換成你自己的
2. 核心安裝命令(必記)
基礎(chǔ)命令(從官方PyPI源安裝):
pip install -r requirements.txt
執(zhí)行后,pip會(huì)自動(dòng)讀取requirements.txt中的所有庫(kù),逐個(gè)下載、安裝,終端會(huì)顯示安裝進(jìn)度,全部顯示Successfully installed即安裝完成。
3. 優(yōu)化命令(國(guó)內(nèi)鏡像源,解決安裝慢、超時(shí))
重點(diǎn)避坑:國(guó)內(nèi)網(wǎng)絡(luò)訪問(wèn)Python官方PyPI源(國(guó)外服務(wù)器)速度較慢,經(jīng)常出現(xiàn)超時(shí)、安裝失敗的問(wèn)題,推薦使用 國(guó)內(nèi)鏡像源 加速,命令如下(阿里云鏡像源,速度最快,優(yōu)先選):
# 阿里云鏡像源(推薦,適配國(guó)內(nèi)網(wǎng)絡(luò)) pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ # 清華鏡像源(備選,穩(wěn)定) pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
補(bǔ)充:鏡像源只是加速下載,安裝的庫(kù)和官方源完全一致,無(wú)需擔(dān)心版本問(wèn)題。
四、實(shí)用拓展命令(必記,提升效率)
除了批量安裝,還有3個(gè)常用命令,適配項(xiàng)目備份、環(huán)境清理,結(jié)合你的上位機(jī)項(xiàng)目非常實(shí)用。
1. 導(dǎo)出當(dāng)前環(huán)境的所有庫(kù)到requirements.txt
場(chǎng)景:你已經(jīng)手動(dòng)安裝好了所有需要的庫(kù),想快速生成requirements.txt(用于備份、共享給他人),執(zhí)行以下命令:
pip freeze > requirements.txt
執(zhí)行后,會(huì)自動(dòng)覆蓋(或生成)requirements.txt,寫(xiě)入當(dāng)前環(huán)境已安裝的所有Python庫(kù)及對(duì)應(yīng)版本,無(wú)需手動(dòng)編寫(xiě)。
2. 批量卸載所有依賴(慎用)
場(chǎng)景:清理開(kāi)發(fā)環(huán)境、重新配置依賴,執(zhí)行以下命令,會(huì)批量卸載requirements.txt中的所有庫(kù):
pip uninstall -r requirements.txt -y
說(shuō)明:-y 參數(shù)表示“自動(dòng)確認(rèn)卸載”,無(wú)需逐個(gè)輸入y確認(rèn),提升效率;慎用,避免誤刪環(huán)境。
3. 安裝時(shí)指定requirements.txt路徑
場(chǎng)景:requirements.txt不在當(dāng)前終端目錄下(比如放在桌面),無(wú)需切換目錄,直接指定文件路徑即可:
pip install -r D:\Desktop\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
以上就是Python項(xiàng)目中requirements.txt的使用方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Python requirements.txt用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在Python中測(cè)試訪問(wèn)同一數(shù)據(jù)的競(jìng)爭(zhēng)條件的方法
這篇文章主要介紹了在Python中測(cè)試訪問(wèn)同一數(shù)據(jù)的競(jìng)爭(zhēng)條件的方法,探究多線程或多進(jìn)程情況下優(yōu)先訪問(wèn)權(quán)的問(wèn)題,需要的朋友可以參考下2015-04-04
Python實(shí)現(xiàn)從常規(guī)文檔中提取圖片的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)從常規(guī)文檔(Word,PDF,Excel,HTML)中提取圖片的方法,有需要的小伙伴可以參考一下2025-03-03
使用 Python 和 OpenCV 實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別功能
本文詳細(xì)講解了使用Python和OpenCV庫(kù)實(shí)行實(shí)時(shí)人臉識(shí)別的過(guò)程,首先,確保安裝OpenCV庫(kù),并通過(guò)Haar級(jí)聯(lián)分類(lèi)器進(jìn)行人臉檢測(cè),實(shí)現(xiàn)步驟包括打開(kāi)攝像頭、圖像灰度轉(zhuǎn)換、人臉檢測(cè)及繪制矩形框,代碼示例清晰展示了從設(shè)置攝像頭到最終展示檢測(cè)結(jié)果的完整過(guò)程2024-11-11
python使用PIL模塊實(shí)現(xiàn)給圖片打水印的方法
這篇文章主要介紹了python使用PIL模塊實(shí)現(xiàn)給圖片打水印的方法,涉及使用PIL模塊操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-05-05
python內(nèi)置模塊pathlib.Path類(lèi)操作目錄和文件的使用
本文主要介紹了python內(nèi)置模塊pathlib.Path類(lèi)操作目錄和文件的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-05-05

