日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

批处理一键安装所有离线的Python库

發(fā)布時(shí)間:2024/1/1 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 批处理一键安装所有离线的Python库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、應(yīng)用背景

由于一些電腦不存在聯(lián)網(wǎng)環(huán)境,需要先在聯(lián)網(wǎng)的電腦中下載好離線的Python庫(kù)安裝包1,通常是whl或者zip格式,然后將資源文件拷貝到不聯(lián)網(wǎng)的電腦,用離線安裝包的格式進(jìn)行安裝

有的庫(kù)安裝依賴關(guān)系復(fù)雜,需要按照特定的順序對(duì)一系列Python庫(kù)進(jìn)行安裝才能正確安裝。可以通過(guò)pip的--no-index --find-links=folder參數(shù)控制在本地搜尋依賴關(guān)系并完成安裝2

眾所周知,用pip freeze命令可以凍結(jié)當(dāng)前環(huán)境的第三方庫(kù)狀態(tài),然后再在另一臺(tái)電腦上復(fù)刻環(huán)境。但是有時(shí)候如果不想復(fù)刻一個(gè)環(huán)境內(nèi)的全部依賴包呢?

比如我只想安裝pandas數(shù)據(jù)分析庫(kù)、wxPythonGUI圖形庫(kù)、requests網(wǎng)絡(luò)分析庫(kù),或者只安裝其中的幾個(gè)?為每一個(gè)庫(kù)建立一個(gè)requirements.txt然后依次安裝?那未免太麻煩了。

二、批量下載Python及依賴庫(kù)

使用pip download命令可以下載指定的Python庫(kù)及其依賴項(xiàng),-d參數(shù)可以控制下載到指定的文件夾。

一些常見(jiàn)的且依賴關(guān)系復(fù)雜的Python庫(kù):

:: GUI庫(kù) pip download -d wxpython wxpython:: 3D圖形庫(kù) pip download -d vtk vtk:: 數(shù)學(xué)庫(kù) pip download -d pandas pandas pip download -d matplotlib matplotlib pip download -d opencv opencv-python pip download -d sympy sympy pip download -d scipy scipy:: 網(wǎng)絡(luò)分析 pip download -d requests requests pip download -d bs4 bs4 pip download -d selenium selenium:: 辦公自動(dòng)化 pip download -d PyAutoGUI PyAutoGUI pip download -d pywin32 pywin32 pip download -d windnd windnd pip download -d pynput pynput:: 讀取文檔 pip download -d xlutils xlutils pip download -d docx python-docx:: 數(shù)據(jù)分析 pip download -d jieba jieba pip download -d xpinyin xpinyin pip download -d qrcode qrcode:: 打包工具 pip download -d PyInstaller PyInstaller:: 37個(gè)依賴庫(kù)! pip download -d akshare akshare:: 59個(gè)依賴庫(kù)! pip download -d jupyter jupyter

三、批處理安裝Python庫(kù)

運(yùn)行上面的下載命令后,會(huì)在當(dāng)前文件夾生成一系列的文件夾,在這些文件夾中存有相應(yīng)庫(kù)的所有依賴包。

在這些文件夾同級(jí)別的路徑下,創(chuàng)建一個(gè)批處理文件,可以命名為auto_install.bat,內(nèi)容如下:

@echo off title Auto Wheels Installer (by lishixian) mode con cols=150 lines=30 & color b for /d %%i in (*) do (for /r %%j in (%%i\*.*) do (pip install %%j --no-index --find-links=%%i)) pause

然后運(yùn)行,就可以將批處理文件所在目錄下的所有庫(kù)全部安裝完成了。

實(shí)際使用時(shí),可以將整個(gè)文件夾攜帶,拷貝到需要安裝的電腦上,移除不需要安裝的Python包文件。然后運(yùn)行批處理程序,就可以有選擇地復(fù)刻需要的Python包環(huán)境

簡(jiǎn)單解讀一下這段批處理命令3,這是一個(gè)雙層循環(huán):

第一層循環(huán)

for /d %%i in (*) do (...)

通過(guò)/d開(kāi)關(guān),對(duì)當(dāng)前目錄的所有文件夾進(jìn)行遍歷,文件夾路徑存儲(chǔ)到%%i中,然后執(zhí)行do中的命令。

第二層循環(huán)

for /r %%j in (%%i\*.*) do (...)

通過(guò)/r開(kāi)關(guān),對(duì)%%i目錄中的所有文件進(jìn)行遍歷,文件路徑存儲(chǔ)到%%j中,然后執(zhí)行do中的命令。

內(nèi)層命令

pip install %%j --no-index --find-links=%%i

對(duì)遍歷到的每一個(gè)文件%%j,嘗試進(jìn)行pip安裝,在%%i路徑中查找安裝包的依賴關(guān)系庫(kù)。由于文件夾中的內(nèi)容是通過(guò)之前的pip download -d path package建立的,所以該目錄下必然存在該安裝包的全部依賴庫(kù),所以可以順利完成安裝。

四、CMD一鍵完成版

CMD的命令語(yǔ)法和批處理略有不同,可以這樣寫(xiě):

for /r %i in (*) do pip install "%i" --no-index --find-links="%~pi"

五、pip配置文件永久生效

運(yùn)行命令打開(kāi)或新建pip配置所在文件:

notepad %HOMEPATH%/pip/pip.ini

加入段落4

[install] no-index = true find-links = D:/simple

之后使用pip install <name>的時(shí)候,都會(huì)從本地的D:/simple文件夾中查找名為name的庫(kù)及相關(guān)依賴項(xiàng)。


  • https://blog.csdn.net/Enceladuce/article/details/112471440 ??

  • https://blog.csdn.net/excelNo1/article/details/117733718 ??

  • https://blog.csdn.net/annita2019/article/details/122908812 ??

  • https://www.zhihu.com/question/533375345/answer/2490885028 ??

  • 總結(jié)

    以上是生活随笔為你收集整理的批处理一键安装所有离线的Python库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。