python项目之间怎么引用

 手机用户2502862581 发布于 2022-10-31 16:07

两个python工程ProjectA和ProjectB,正常方式是将ProjectB打包成一个模块然后给ProjectA引用,但是现在ProjectB修改非常频繁无法稳定,如何直接在ProjectA中引用ProjectB呢?
环境是windows+pycharm

3 个回答
  • 在ProjectA 的环境中以开发模式安装ProjectB,以后直接更新ProjectB的代码就可以,不用重新安装一遍。

    git clone ProjectB
    python ProjectB/setup.py develop   # 开发模式安装
    2022-10-31 23:13 回答
  • 打包成模块安装时直接安装到项目路径,这样修改B项目时不用再次安装

    2022-10-31 23:13 回答
  • 看起来更多的是项目协作的问题,我建议
    1) 针对接口做编程,这样很大程度上保证你们项目的整体推进。原理也比较简单,就是ProjectB先不要去做具体的实现,而是跟ProjectA两个开发团队先定好哪些接口是稳定的,哪些是不稳定的,不稳定的API要预留出一个可以供后期的实现,这样即使ProjectB更新再频繁,也不会影响到ProjectA的编码,如果因为设计人员、架构师的能力问题无法充分考虑后续的所有需求,也要尽可能的在头脑风暴的前提下让ProjectB能提供尽可能完备的接口。
    2) 不太清楚你们公司内部项目管理规范如何,比如是否有针对ProjectB做足够的单元测试,保证与ProjectA集成时可以顺利集成,如果之前没有的话,建议你们在关键的节点上,还是对ProjectB要做些基本的单元测试,无数惨痛的教训告诉我们,对于Python这样的弱类型语言,没有足够的UT是一定会有问题的。
    3) 1&2都解决的情况下,你们可以任意选择ProjectB的发布方式,用rsync同步也好,docker发布也好,svn update也好,每次发布完了,可以做一个集成测试,看看代码质量。
    4) 如果ProjectB目前规划很不好,没有稳定的API, 经常会变动,如果这已经是一个既定事实的话,建议你们对ProjectB接口做一个封装,提供针对逻辑的封装,也就是在ProjectB和ProjectA之间加入一个中间层,ProjectA不要直接去操作ProjectB,而是操作中间层,来保证A/B的代码稳定性

    2022-10-31 23:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有