当前位置: 首页 > news >正文

一个库,比如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.lqws.cn/news/461611.html

相关文章:

  • 加密货币:比特币
  • 如何进行IEC61850的一致性测试
  • linux——C程序的编译与调试
  • AR 眼镜之-条形码识别-实现方案
  • 7.3.1二叉排序树
  • 宽度优先遍历(bfs)(4)——解决拓扑排序
  • Python 中布尔值的使用:掌握逻辑判断的核心
  • phpstudy无法启动apache,80端口被占用,完美解决
  • Java常见八股-(6.算法+实施篇)
  • Linux——库文件生成和使用
  • 通过CDH安装Spark的详细指南
  • moments_object_model_3d这么理解
  • 医院预约挂号
  • 分清display三个属性
  • 【Python】List
  • 大数据治理域——计算管理
  • 3DS中文游戏全集下载 任天堂3DS简介3DS第一方独占游戏推荐
  • AI的认知象限:浅谈一下我们与AI的边界
  • c++系列之智能指针的使用
  • uni-app项目实战笔记17--获取系统信息getSystemInfo状态栏和胶囊按钮
  • 【Python进阶系列】第9篇:聊聊 Python 中常用的第三方库
  • Happy-LLM-task3 :2.1 注意力机制 2 天
  • Python中布尔值在函数中的巧妙运用
  • WebGL图形学总结(二)
  • 【云创智城】YunCharge充电桩系统-深度剖析OCPP 1.6协议及Java技术实现:构建高效充电桩通信系统
  • (双模第2期)基于Nordic nRF52832的蓝牙键盘主控设计全流程详解
  • 测试夹选购及使用笔记
  • 关于 RSA:RSA 加密算法过程
  • C++ map 和 unordered_map 的区别和联系
  • Python Minio库连接和操作Minio数据库