Python項目批量安裝依賴庫的完整指南
在Python項目開發(fā)中,我們經(jīng)常需要安裝多個依賴庫(比如PyQt5、OpenCV等)。逐個執(zhí)行pip install命令不僅繁瑣,還容易遺漏、出現(xiàn)版本兼容問題。
最高效的解決方案是:創(chuàng)建一個requirements.txt文本文件,手動寫入所有需要的庫名(可指定版本),然后通過一條命令批量安裝所有依賴。本文全程實操,新手也能快速上手。
本文核心:從零教你「創(chuàng)建文件→編寫庫清單→批量安裝→實用拓展」,全程無冗余,直接套用即可。
一、什么是requirements.txt?
requirements.txt 是Python項目的「依賴清單文件」,本質(zhì)是一個純文本文件,核心作用是:
- 統(tǒng)一項目依賴,避免“我本地能運行,別人運行報錯”的問題;
- 手動編寫需要的庫,批量安裝/卸載,提升開發(fā)效率;
- 方便項目備份、共享,他人拿到文件后,一鍵就能配置好和你一致的開發(fā)環(huán)境。
重點:文件名建議固定為requirements.txt(Python生態(tài)通用約定,pip工具可直接識別),后綴必須是.txt,不能是.txt.txt(需開啟電腦文件后綴顯示)。
二、實操步驟:創(chuàng)建+編寫requirements.txt
全程以「PyCharm項目」為例(適配你的上位機(jī)開發(fā)環(huán)境),兩種創(chuàng)建方法,任選一種即可,新手優(yōu)先選方法1。
方法1:手動創(chuàng)建(最直觀,新手首選)
適配場景:新手、不熟悉終端命令,直接通過PyCharm圖形界面操作,零門檻。
- 打開你的PyCharm項目,定位到「項目根目錄」(和你的.py代碼文件同級,比如和相機(jī)對接、PLC通信的核心代碼放在一起);
- 右鍵點擊項目根目錄 → 選擇「New」→ 點擊「Text File」;
- 彈出文件名輸入框,輸入 requirements.txt → 按下Enter確認(rèn)(注意:無中文、無空格);
- 雙擊打開創(chuàng)建好的requirements.txt文件,即可開始手動編寫需要的庫清單。
補(bǔ)充提示:如果找不到項目根目錄,可通過PyCharm左側(cè)「Project」面板查看,確保文件和核心代碼同級,避免后續(xù)執(zhí)行命令時找不到文件。
方法2:終端快速創(chuàng)建(熟悉終端者首選)
適配場景:習(xí)慣用終端操作,快速創(chuàng)建空文件,無需圖形界面點擊。
打開PyCharm底部的「Terminal」終端(默認(rèn)在項目根目錄,若不在,輸入cd 項目路徑 切換);
輸入對應(yīng)系統(tǒng)的命令,創(chuàng)建空的requirements.txt:
- Windows系統(tǒng)(你的開發(fā)環(huán)境,重點記這個):
type nul > requirements.txt - Mac/Linux系統(tǒng)(了解即可):
touch requirements.txt
按下Enter,終端無報錯,項目根目錄會自動生成requirements.txt文件,雙擊打開即可編寫。
核心:編寫requirements.txt內(nèi)容(語法超簡單)
語法規(guī)則:每行寫一個庫名,可按需指定版本(推薦指定,避免版本兼容問題),# 開頭的行是注釋,不會被執(zhí)行(可用于標(biāo)注庫的用途,方便后續(xù)維護(hù))。
寫法1:基礎(chǔ)版(只寫庫名,安裝最新穩(wěn)定版)
適合:對庫版本無特殊要求,只想快速安裝,簡潔高效。
# 注釋:Python上位機(jī)依賴清單 # 界面開發(fā)(PyQt5) PyQt5 pyqt5-tools # PLC通信相關(guān)(Modbus + S7協(xié)議,對接PLCSIM) pymodbus python-snap7 # 相機(jī)對接 + 視覺處理 opencv-python # 對接??倒I(yè)相機(jī)(官方SDK封裝) hikvision-api # 輔助工具 numpy # 保存檢測數(shù)據(jù)到Excel(上位機(jī)剛需) openpyxl # 串口通信(備用,對接串口PLC/傳感器) pyserial
寫法2:進(jìn)階版(指定版本,推薦項目使用)
推薦理由:Python庫版本更新快,不同版本可能存在兼容性問題(比如PyQt5高版本和pyqt5-tools不匹配、python-snap7版本過高導(dǎo)致無法連接PLCSIM),指定版本能確保環(huán)境一致性。
格式:庫名==版本號(==前后無空格),以下是適配你項目的穩(wěn)定版本組合,可直接復(fù)制使用。
# Python上位機(jī)依賴清單(指定版本,穩(wěn)定兼容) # 界面開發(fā)(PyQt5穩(wěn)定版本,避免報錯) 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)定無bug python-snap7==1.4.1 # S7協(xié)議,對接西門子PLC/PLCSIM opencv-python==4.8.1.78 # 穩(wěn)定版,避免取流卡頓 hikvision-api==0.3.5 # 海康相機(jī)SDK封裝,適配MVS SDK # 輔助工具(版本兼容,無冗余) numpy==1.24.3 # 適配OpenCV 4.8.1 openpyxl==3.1.2 # 操作Excel,支持批量保存數(shù)據(jù) pyserial==3.5 # 串口通信,備用
寫法3:其他常用補(bǔ)充(了解即可)
- 指定版本范圍:比如 numpy>=1.20.0,<1.25.0(安裝1.20.0到1.25.0之間的版本);
- 從指定地址安裝:比如 git+https://github.com/xxx/xxx.git(適用于安裝第三方開源庫的開發(fā)版);
- 卸載時使用:和安裝語法一致,后續(xù)會講批量卸載命令。
三、關(guān)鍵步驟:批量安裝所有依賴
編寫完requirements.txt后,無需逐個執(zhí)行pip install,一條命令就能批量安裝所有庫,步驟如下:
1. 打開終端,切換到項目根目錄
打開PyCharm的Terminal終端(底部),默認(rèn)已經(jīng)在項目根目錄;若不在,輸入以下命令切換(替換為你的項目路徑):
cd D:\PyCharmProjects\PLC_Camera_UpperComputer # 示例路徑,替換成你自己的
2. 核心安裝命令(必記)
基礎(chǔ)命令(從官方PyPI源安裝):
pip install -r requirements.txt
執(zhí)行后,pip會自動讀取requirements.txt中的所有庫,逐個下載、安裝,終端會顯示安裝進(jìn)度,全部顯示Successfully installed即安裝完成。
3. 優(yōu)化命令(國內(nèi)鏡像源,解決安裝慢、超時)
重點避坑:國內(nèi)網(wǎng)絡(luò)訪問Python官方PyPI源(國外服務(wù)器)速度較慢,經(jīng)常出現(xiàn)超時、安裝失敗的問題,推薦使用 國內(nèi)鏡像源 加速,命令如下(阿里云鏡像源,速度最快,優(yōu)先選):
# 阿里云鏡像源(推薦,適配國內(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ǔ)充:鏡像源只是加速下載,安裝的庫和官方源完全一致,無需擔(dān)心版本問題。
四、實用拓展命令(必記,提升效率)
除了批量安裝,還有3個常用命令,適配項目備份、環(huán)境清理,結(jié)合你的上位機(jī)項目非常實用。
1. 導(dǎo)出當(dāng)前環(huán)境的所有庫到requirements.txt
場景:你已經(jīng)手動安裝好了所有需要的庫,想快速生成requirements.txt(用于備份、共享給他人),執(zhí)行以下命令:
pip freeze > requirements.txt
執(zhí)行后,會自動覆蓋(或生成)requirements.txt,寫入當(dāng)前環(huán)境已安裝的所有Python庫及對應(yīng)版本,無需手動編寫。
2. 批量卸載所有依賴(慎用)
場景:清理開發(fā)環(huán)境、重新配置依賴,執(zhí)行以下命令,會批量卸載requirements.txt中的所有庫:
pip uninstall -r requirements.txt -y
說明:-y 參數(shù)表示“自動確認(rèn)卸載”,無需逐個輸入y確認(rèn),提升效率;慎用,避免誤刪環(huán)境。
3. 安裝時指定requirements.txt路徑
場景:requirements.txt不在當(dāng)前終端目錄下(比如放在桌面),無需切換目錄,直接指定文件路徑即可:
pip install -r D:\Desktop\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
六、方法補(bǔ)充
在 Python 開發(fā)中,批量安裝依賴通常通過一個依賴清單文件來實現(xiàn),最常見的格式是 requirements.txt。以下是幾種主流且高效的方法:
1.標(biāo)準(zhǔn)方法:pip install -r requirements.txt
1. 生成依賴清單
在項目環(huán)境中執(zhí)行:
pip freeze > requirements.txt
這會將當(dāng)前環(huán)境中所有已安裝的包及其精確版本寫入文件。
2. 批量安裝
在新環(huán)境(如虛擬環(huán)境、另一臺機(jī)器)中執(zhí)行:
pip install -r requirements.txt
- 會自動逐條安裝文件中的包。
- 若需指定額外索引(如私有倉庫),可使用
-i或--extra-index-url。
3. 使用國內(nèi)鏡像加速
pip install -r requirements.txt -i https://pypi.douban.com/simple
2.進(jìn)階批量安裝技巧
1. 忽略已安裝的包,僅安裝缺失的
pip install -r requirements.txt --ignore-installed
通常不需要,因為 pip 默認(rèn)會跳過已滿足的依賴。但有時強(qiáng)制重裝可用。
2. 批量升級所有依賴
pip install --upgrade -r requirements.txt
3. 從多個文件安裝
pip install -r base.txt -r dev.txt
4. 從 URL 或本地路徑安裝
requirements.txt 中可直接寫 URL 或本地 .whl / .tar.gz 路徑:
https://example.com/packages/mypackage-1.0.0-py3-none-any.whl ./local_packages/mypackage-1.2.0.tar.gz
5. 使用 pip-tools 管理精確依賴
pip install pip-tools
- 編寫
requirements.in寫入頂層依賴(不指定版本或?qū)捤砂姹荆?/li> - 執(zhí)行
pip-compile requirements.in生成鎖定的requirements.txt。 - 批量安裝依然使用
pip install -r requirements.txt。
3.環(huán)境管理器中的批量安裝
1. Pipenv
pipenv install # 會安裝 Pipfile 中所有依賴 pipenv install -r requirements.txt # 從 requirements.txt 導(dǎo)入
2. Poetry
poetry install # 安裝 pyproject.toml 中聲明的依賴
3. Conda
conda install --file requirements.txt # 注意:conda 的依賴文件格式略有不同
或者導(dǎo)出 conda 環(huán)境:
conda env export > environment.yml conda env create -f environment.yml
四、離線批量安裝
當(dāng)目標(biāo)機(jī)器無法聯(lián)網(wǎng)時:
在能聯(lián)網(wǎng)的機(jī)器上下載所有依賴包及其依賴:
pip download -r requirements.txt -d ./offline_packages
將 offline_packages 目錄復(fù)制到目標(biāo)機(jī)器。
離線安裝:
pip install --no-index --find-links ./offline_packages -r requirements.txt
到此這篇關(guān)于Python項目批量安裝依賴庫的完整指南的文章就介紹到這了,更多相關(guān)Python批量安裝依賴庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django中celery執(zhí)行任務(wù)結(jié)果的保存方法
今天小編就為大家分享一篇Django中celery執(zhí)行任務(wù)結(jié)果的保存方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
pytest生成Allure報告以及查看報告的實現(xiàn)
本文主要介紹了pytest生成Allure報告以及查看報告的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹
今天小編就為大家分享一篇python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

