2022年12月21日 星期三

Colab中修改安裝模組程式碼

Python的模組安裝後,常會遇到模組更新需修改模組中檔案的程式碼情況,若是在本機可以開啟該檔案修改程式即可,但在Colab中要如何修改呢?

下面以google-images-download現在(2022/12/21)遇到的情況為例說明:需將<google-images-download.py>中的「if info is None: info = data[11]」改為「if info is None: info = data[23]」。

手動修改程式碼

安裝模組後以「!pip show 模組名稱」查看模組安裝路徑:下圖為安裝於</usr/local/lib/python3.8/dist-packages>資料夾。

在左方檔案總管先切換到上一層目錄(根目錄),再依序切換到</usr/local/lib/python3.8/dist-packages/google-images-download>目錄,點擊<google-images-download.py>兩下即可開啟該檔案。

由於在Colab無法搜尋,需借助文字編輯器搜尋,此處以記事本為例:複製<google-images-download.py>全部程式碼(CTRL+A 及 CTRL+C),於記事本中貼上(CTRL+V)。開啟記事本搜尋功能,搜尋「if info is None」,在左下角會顯示文字所在列數(此處為406列)。

回到Colab,將407列的「data[11]」修改為「data[23]」,按「CTRL+S」存檔,就完成修改。

使用LINUX取代命令

上面修改程式碼的方法較為繁複,若每次重啟Colab就要操作一次,要花費相當時間,所以此方法最好僅在測試時使用,如果確認修改程式碼就可讓模組正常運作,就可改用LINUX取代命令,一列程式就修改完成。

LINUX取代命令為:

!sed -i 's/被取代文字/取代文字/g' 檔案路徑

例如修改上面程式的命令為:

!sed -i 's/data\[11\]/data\[23\]/g' /usr/local/lib/python3.8/dist-packages/google_images_download/google_images_download.py

google-images-download下載圖片完整程式:


沒有留言:

張貼留言