Python第三方庫導出與批量安裝的詳細教程
當需要導出指定Python項目的第三方安裝依賴包版本的時候,如果一個一個去找是非常麻煩浪費時間的事情,本文將教大家如何一鍵導出,附上詳細教程。
一、前提準備
- 確保已安裝 Python 環(huán)境,且
pip已添加到系統(tǒng)環(huán)境變量(可通過python --version和pip --version驗證)。 - 導出指定腳本依賴時,需額外安裝
pipreqs工具,安裝命令:pip install pipreqs。
二、導出環(huán)境中的所有第三方包
該方式會導出當前 Python 環(huán)境(虛擬環(huán)境/全局環(huán)境)中已安裝的所有第三方庫,適用于備份完整環(huán)境或遷移到其他設備。
1、打開終端(Windows cmd/PowerShell,Mac/Linux 終端)。
2、執(zhí)行導出命令,將依賴列表保存到 requirements.txt 文件(文件名可自定義,建議用默認名):
# 基礎導出(推薦,包含包名和精確版本號) pip freeze > requirements.txt # 可選:導出時忽略指定包(如無需導出 pip 本身) pip freeze | findstr /v "pip" > requirements.txt # Windows pip freeze | grep -v "pip" > requirements.txt # Mac/Linux
3、執(zhí)行完成后,當前目錄會生成 requirements.txt 文件,內(nèi)容格式為 包名==版本號(如 requests==2.31.0)。
三、導出指定目錄下所有Python腳本依賴的第三方包
該方式僅分析指定目錄中所有 .py 腳本實際導入的第三方庫(不含系統(tǒng)庫和未使用的包),適用于精簡項目依賴、避免冗余。 注意事項:如果第三方庫還依賴了其他庫,可能會不一定完整!?。?/p>
1、打開終端,切換到目標 Python 腳本所在的根目錄(如腳本在 D:\project\python_scripts,則執(zhí)行 cd D:\project\python_scripts)。
2、執(zhí)行 pipreqs 命令生成依賴文件:
# 基礎用法:分析當前目錄及子目錄下所有腳本 pipreqs . --encoding=utf8 # 關鍵參數(shù)說明 # . :表示當前目錄(可替換為具體路徑,如 pipreqs D:\project\python_scripts) # --encoding=utf8 :解決中文注釋導致的編碼錯誤 # --force :強制覆蓋已存在的 requirements.txt 文件(如需更新依賴時使用)
3、執(zhí)行成功后,目標目錄會生成 requirements.txt 文件,僅包含腳本實際依賴的第三方包(如腳本用了 requests 和 pandas,則僅列出這兩個包)。
4、案例:
E:\Python\> pipreqs ./ --encoding=utf-8 INFO: Not scanning for jupyter notebooks. # 看到這個表示正在查找,不是報錯這個時候不要關了 WARNING: Import named "fastapi" not found locally. Trying to resolve it at the PyPI server. WARNING: Import named "fastapi" was resolved to "fastapi:0.121.3" package (https://pypi.org/project/fastapi/). Please, verify manually the final list of requirements.txt to avoid possible dependency confusions. WARNING: Import named "uvicorn" not found locally. Trying to resolve it at the PyPI server. WARNING: Import named "uvicorn" was resolved to "uvicorn:0.38.0" package (https://pypi.org/project/uvicorn/). Please, verify manually the final list of requirements.txt to avoid possible dependency confusions. INFO: Successfully saved requirements file in ./requirements.txt
運行結果:
fastapi==0.121.3 pandas==1.4.2 pypinyin==0.46.0 uvicorn==0.38.0
5、常見問題解決:
- 若提示“PermissionError”,在命令末尾添加
--force參數(shù)強制生成。 - 若分析不完整,檢查腳本是否有動態(tài)導入(如
__import__),此類情況需手動補充包名到文件中。
四、批量安裝導出的第三方包
無論通過哪種方式導出的 requirements.txt,均可用以下命令批量安裝所有依賴,快速復現(xiàn)環(huán)境。
操作步驟
- 將導出的
requirements.txt文件復制到目標環(huán)境的任意目錄(如桌面)。 - 打開終端,切換到
requirements.txt所在目錄(如cd Desktop)。 - 執(zhí)行安裝命令:
# 基礎安裝(使用官方源) pip install -r requirements.txt # 推薦:使用國內(nèi)鏡像源加速(解決下載慢/超時問題) pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 等待命令執(zhí)行完成,所有依賴包會自動安裝到當前 Python 環(huán)境中。
可選優(yōu)化
- 安裝指定版本的包:若需修改版本,可直接編輯
requirements.txt中的==版本號(如requests>=2.20.0表示安裝 2.20.0 及以上版本)。 - 升級已安裝包:
pip install --upgrade -r requirements.txt。
五、總結與注意事項
- 全環(huán)境導出(
pip freeze)適合完整環(huán)境遷移,指定目錄導出(pipreqs)適合項目依賴精簡,根據(jù)需求選擇即可。 - 虛擬環(huán)境建議:開發(fā)項目時優(yōu)先使用虛擬環(huán)境(
venv/conda),避免全局環(huán)境依賴沖突,導出時僅需激活對應虛擬環(huán)境再執(zhí)行命令。 - 版本兼容性:導出的
requirements.txt包含精確版本號,安裝后可保證環(huán)境一致性,避免因版本差異導致的代碼報錯。
以上就是Python第三方庫導出與批量安裝的詳細教程的詳細內(nèi)容,更多關于Python第三方庫導出與安裝的資料請關注腳本之家其它相關文章!
相關文章
利用Python自帶PIL庫擴展圖片大小給圖片加文字描述的方法示例
最近的一個工程項目是講文字添加到圖像上,所以下面這篇文章主要給大家介紹了關于利用Python自帶PIL庫擴展圖片大小給圖片加文字描述的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
python使用dabl幾行代碼實現(xiàn)數(shù)據(jù)處理分析及ML自動化
這篇文章主要為大家分享一個名為?dabl?的開源?Python?工具包,它可以自動化機器學習模型開發(fā),包括數(shù)據(jù)預處理、特征可視化和分析、建模2021-11-11
基于Python+PyAutoGUI實現(xiàn)的Windows自動化辦公腳本
在日常辦公場景中,很多重復動作并不復雜,卻非常消耗時間,本文面向 Python 自動化辦公方向學習者,重點演示在 Windows 上如何用 pyautogui 完成鼠標移動與點擊、鍵盤輸入、屏幕截圖、自動打開記事本輸入文字,以及自動化重復操作,需要的朋友可以參考下2026-05-05
windows系統(tǒng)下Python環(huán)境搭建教程
這篇文章主要為大家詳細介紹了windows系統(tǒng)下Python環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
python實現(xiàn)在函數(shù)中修改變量值的方法
今天小編就為大家分享一篇python實現(xiàn)在函數(shù)中修改變量值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python paramiko實現(xiàn)ssh遠程訪問的方法
這篇文章主要介紹了python paramiko模塊實現(xiàn)ssh遠程訪問的方法,大家參考使用2013-12-12
使用Python集合顯著優(yōu)化算法性能的實戰(zhàn)案例
掌握?Python?中的?set?數(shù)據(jù)結構,是算法和數(shù)據(jù)結構的基本功,今天我們從一個實戰(zhàn)案例出發(fā),探討如何利用Python集合顯著優(yōu)化算法性能,感興趣的同學跟著小編一起來探討吧2023-06-06

