一個庫,比如kott_tinymce ,想把的依賴庫從kotti升級到kotti2 ,請問我是不是查找替換,把所有的kotti字符替換成kotti2就行了?

一個庫,比如kott_tinymce ,想把的依賴庫從kotti升級到kotti2 ,請問我是不是查找替換,把所有的kotti字符替換成kotti2就行了?

kotti和kotti2的包結構、模塊路徑、接口完全一樣,除了import kotti 變成kotti2

如果?kotti?和?kotti2?的包結構、模塊路徑、接口完全一樣,唯一區別就是包名由?kotti?改成了?kotti2,那么直接全局查找替換
import kotti?→?import kotti2
確實是可行的(前提是你確認功能和API完全兼容,沒有其他差異)。


推薦的升級步驟(簡化版)

  1. 修改依賴

    • requirements.txt?/?pyproject.toml?/?setup.py?中把kotti換成kotti2
  2. 代碼中查找替換

    • 所有?import kotti?改成?import kotti2
    • 所有引用?kotti.?的地方改成?kotti2.。你可以用IDE或者文本編輯器的“全局查找替換”功能完成。
  3. 配置文件確認

    • 檢查項目里關于kotti的配置文件(如.ini.yaml等),確認沒有硬編碼?kotti,或者調整為?kotti2
  4. 執行測試

    • 運行單元測試和集成測試,確認沒有意外問題。
    • 做趣味測試(Smoke test)驗證應用啟動和主要功能正常。
  5. 必要時做回滾方案

    • 備份原項目,一旦出現問題可以快速回滾。

需要注意的小細節

  • 虛擬環境:最好在一個干凈的虛擬環境里操作,避免舊?kotti?包干擾。

  • 依賴的第三方庫:你用的其他擴展庫(比如kotti_tinymce)是否對?kotti?做了硬編碼?有些庫可能沒更新?kotti2,需要檢查并替換。

  • 文本中字符串引用:不要忘了檢查代碼里寫的字符串,比如日志、配置中的包名、入口點腳本名等。


總結

如果?kotti?與?kotti2?僅包名不同,其他完全相同,全局替換包名是可行且合理的升級策略。


測試了一下,要比想像的復雜一點,因為無腦查找替換后,有些對應的是路徑,也就是目錄名,這樣就要求那些路徑也要改名....

另外還有些庫測試的時候需要,比如用這個命令測試:

pytest  --disable-warnings --disable-pytest-warnings  

報錯

_____________ ERROR collecting kotti2_tinymce/tests/test_views.py ______________
ImportError while importing test module '/usr/home/skywalk/github/kotti_tinymce-master/kotti2_tinymce/tests/test_views.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/home/skywalk/minipy312/lib/python3.12/importlib/__init__.py:90: in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
kotti2_tinymce/tests/test_views.py:6: in <module>from kotti2_image.resources import Image
E   ModuleNotFoundError: No module named 'kotti2_image'
_____________ ERROR collecting kotti2_tinymce/tests/test_views.py ______________
ImportError while importing test module '/usr/home/skywalk/github/kotti_tinymce-master/kotti2_tinymce/tests/test_views.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/home/skywalk/minipy312/lib/python3.12/importlib/__init__.py:90: in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
kotti2_tinymce/tests/test_views.py:6: in <module>from kotti2_image.resources import Image
E   ModuleNotFoundError: No module named 'kotti2_image'

還有報錯

fanstatic.core.UnknownResourceError: Resource file does not exist: /usr/home/skywalk/github/kotti_tinymce-master/kotti2_tinymce/static/kotti2_tinymce.js

將那幾個js文件的kotti改名為kotti后,相關報錯消失,現在就只剩kotti2_image這個報錯了。

所以回頭還需要把kotti_image再改成kotti2_image .

另外這些庫比較老了,沒有pyproject.toml文件,后面還需要補上。暫時可以先用pip install -e . 這條命令執行編譯安裝。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85648.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

企業實踐 | 銀河麒麟KylinOS-V10(SP3)高級服務器操作系統基礎安裝指南

前言&#xff1a;國產操作系統的崛起與實踐背景 在國產化浪潮與信息技術自主可控的大背景下&#xff0c;銀河麒麟操作系統作為國產操作系統的代表之一&#xff0c;正逐步成為企業級應用的重要選擇。本文將詳細介紹銀河麒麟高級服務器操作系統V10 SP3版本的基礎知識與安裝實踐&…

Ubuntu 一鍵安裝 ROS

Ubuntu 一鍵安裝 ROS 安裝命令如下&#xff1a; wget http://fishros.com/install -O fishros && . fishros 指令執行后&#xff0c;顯示log如下圖&#xff1a; 之后根據不同的系統安裝對應的ros版本即可。

深度學習——基于卷積神經網絡實現食物圖像分類【4】(使用最優模型)

文件目錄 引言一、環境準備二、數據預處理訓練集預處理說明&#xff1a;驗證集預處理說明&#xff1a; 三、自定義數據集類四、設備選擇五、CNN模型構建六、模型加載與評估1. 加載預訓練模型2. 準備測試數據3. 測試函數4. 計算準確率 七、完整代碼八、總結 引言 本文將詳細介紹…

C++基礎算法————并查集

C++并查集詳解與實戰指南 一、引言 并查集(Union-Find)是一種高效的數據結構,用于處理一些不相交集合的合并與查詢問題。它在圖論、社交網絡、網絡連通性等領域有廣泛的應用。并查集的核心思想是通過一個數組來記錄每個元素的父節點,從而將元素組織成若干棵樹,每棵樹代表…

系統性能優化的關鍵手段

系統性能的提升方向 服務器并發處理能力&#xff1a;通過優化內存管理策略、選擇合適的連接模式&#xff08;長連接或短連接&#xff09;、改進 I/O 模型&#xff08;如 epoll、IOCP&#xff09;、以及采用高效的服務器并發策略&#xff08;如多線程、事件驅動等&#xff09;&a…

httpclient實現http連接池

HTTP連接池是一種優化網絡通信性能的技術&#xff0c;通過復用已建立的TCP連接減少重復握手開銷&#xff0c;提升資源利用率。以下是關鍵要點&#xff1a; 核心原理與優勢 ?連接復用機制? 維護活躍連接隊列&#xff0c;避免每次請求重復TCP三次握手/SSL協商&#xff0c;降低…

廣義焦點丟失:學習用于密集目標檢測的合格和分布式邊界盒之GFL論文閱讀

摘要 一階段檢測器通常將目標檢測形式化為密集的分類與定位(即邊界框回歸)問題。分類部分通常使用 Focal Loss 進行優化,而邊界框位置則在狄拉克δ分布下進行學習。最近,一階段檢測器的發展趨勢是引入獨立的預測分支來估計定位質量,所預測的質量可以輔助分類,從而提升檢…

Real-World Deep Local Motion Deblurring論文閱讀

Real-World Deep Local Motion Deblurring 1. 研究目標與實際問題意義1.1 研究目標1.2 實際問題1.3 產業意義2. 創新方法:LBAG模型與關鍵技術2.1 整體架構設計2.2 關鍵技術細節2.2.1 真實模糊掩碼生成(LBFMG)2.2.2 門控塊(Gate Block)2.2.3 模糊感知補丁裁剪(BAPC)2.3 損…

【Docker基礎】Docker鏡像管理:docker commit詳解

目錄 引言 1 docker commit命令概述 1.1 什么是docker commit 1.2 使用場景 1.3 優缺點分析 2 docker commit命令詳解 2.1 基本語法 2.2 常用參數選項 2.3 實際命令示例 2.4 提交流程 2.5 步驟描述 3 docker commit與Dockerfile構建對比 3.1 構建流程對比 3.2 對…

可調式穩壓二極管

1.與普通穩壓二極管的比較&#xff1a; 項目普通穩壓二極管可調式穩壓二極管&#xff08;如 TL431&#xff09;輸出電壓固定&#xff08;如5.1V、3.3V&#xff09;可調&#xff08;2.5V ~ 36V&#xff0c;取決于外部分壓&#xff09;精度低&#xff08;5%~10%&#xff09;高&a…

Kafka使用Elasticsearch Service Sink Connector直接傳輸topic數據到Elasticsearch

鏈接&#xff1a;Elasticsearch Service Sink Connector for Confluent Platform | Confluent Documentation 鏈接&#xff1a;Apache Kafka 一、搭建測試環境 下載Elasticsearch Service Sink Connector https://file.zjwlyy.cn/confluentinc-kafka-connect-elasticsearch…

訊方“教學有方”平臺獲華為昇騰應用開發技術認證!

教學有方 華為昇騰應用開發技術認證 權威認證 彰顯實力 近日&#xff0c;訊方技術自研的教育行業大模型平臺——“教學有方”&#xff0c;成功獲得華為昇騰應用開發技術認證。這一認證不僅是對 “教學有方” 平臺技術實力的高度認可&#xff0c;更標志著訊方在智慧教育領域的…

保護你的Electron應用:深度解析asar文件與Virbox Protector的安全策略

在現代軟件開發中&#xff0c;Electron框架因其跨平臺特性而備受開發者青睞。然而&#xff0c;隨著Electron應用的普及&#xff0c;如何保護應用中的核心資源文件——asar文件&#xff0c;成為了開發者必須面對的問題。今天&#xff0c;我們將深入探討asar文件的特性&#xff0…

端口安全配置示例

組網需求 如圖所示&#xff0c;用戶PC1、PC2、PC3通過接入設備連接公司網絡。為了提高用戶接入的安全性&#xff0c;將接入設備Router的接口使能端口安全功能&#xff0c;并且設置接口學習MAC地址數的上限為接入用戶數&#xff0c;這樣其他外來人員使用自己帶來的PC無法訪問公…

零基礎RT-thread第四節:電容按鍵

電容按鍵 其實只需要理解&#xff0c;手指按上去后充電時間變長&#xff0c;我們可以利用定時器輸入捕獲功能計算充電時間&#xff0c;超過無觸摸時的充電時間一定的閾值就認為是有手指觸摸。 基本原理就是這樣&#xff0c;我們開始寫代碼&#xff1a; 其實&#xff0c;看過了…

SQL基礎操作:從增刪改查開始

好的&#xff01;SQL&#xff08;Structured Query Language&#xff09;是用于管理關系型數據庫的標準語言。讓我們從最基礎的增刪改查&#xff08;CRUD&#xff09;?? 操作開始學習&#xff0c;我會用簡單易懂的方式講解每個操作。 &#x1f6e0; 準備工作&#xff08;建表…

vim 編輯模式/命令模式/視圖模式常用命令

以下是一份 Vim 命令大全&#xff0c;涵蓋 編輯模式&#xff08;Insert Mode&#xff09;、命令模式&#xff08;Normal Mode&#xff09; 和 視圖模式&#xff08;Visual Mode&#xff09; 的常用操作&#xff0c;適合初學者和進階用戶使用。 &#x1f9fe; Vim 模式簡介 Vim…

每天看一個Fortran文件(10)

今天來看下MCV模式調用物理過程的相關代碼。我想改進有關于海氣邊界層方面的內容&#xff0c;因此我尋找相關的代碼&#xff0c;發現在physics目錄下有一個sfc_ocean.f的文件。 可以看見這個文件是在好多好多年前更新的了&#xff0c;里面內容不多&#xff0c;總共146行。是計算…

python打卡day37

疏錦行 知識點回顧&#xff1a; 1. 過擬合的判斷&#xff1a;測試集和訓練集同步打印指標 2. 模型的保存和加載 a. 僅保存權重 b. 保存權重和模型 c. 保存全部信息checkpoint&#xff0c;還包含訓練狀態 3. 早停策略 作業&#xff1a;對信貸數據集訓練后保存權重&#xf…

【Spark征服之路-2.9-Spark-Core編程(五)】

RDD行動算子&#xff1a; 行動算子就是會觸發action的算子&#xff0c;觸發action的含義就是真正的計算數據。 1. reduce ? 函數簽名 def reduce(f: (T, T) > T): T ? 函數說明 聚集 RDD 中的所有元素&#xff0c;先聚合分區內數據&#xff0c;再聚合分區間數據 val…