Python打包分发的若干问题(标题字数不够)

 mobiledu2502879833 发布于 2022-10-29 11:11

1 公司内部(不公开到pypi)如何分发?(利用setup.py还是pip)
2 隔离的环境如何分发?(如利用virtualenv隔离一个env,需要与人分享使用)
3 针对1,2, 如果含有二进制的包,怎么办? 怎么以二进制形式分发(我了解了有egg,wheel形式)

Python打包分发的工具似乎很多,工具有setuptools,pip,distutils,格式有源码,egg,wheel, 另外还是Anaconda这种(另外一个世界)

成熟的整个流程怎么走?(我真是查资料都眼花缭乱了)
我自己初步定义的整个流程可能包括:
1 新人入职,快速得到公司的Python开发环境(可能是一个virtualenv隔离环境)
2 某个组开发的包,在公司内部共享
3 其他(我没有想到)

4 个回答
  • 我觉得docker形式的微服务是王道

    2022-10-30 17:15 回答
  • 直接源码库的形式呗.

    2022-10-30 17:17 回答
  • 以前的流程是这样的,对于像python这样的弱语言,一个看似不关联的改动可能导致连锁的问题,最终导致系统跑不起来,因此,每次代码的改动和提交都要有充足的单元测试用例保证,跑完之后,做CI,跟其他的模块集成,没问题的话,再发布,发布的方式个人是比较喜欢setuptools,简单,方便,但最近都是推崇wheel格式,你们也可以试试。

    如果是公司内部开发,没什么特别强烈的需求,个人倾向不要上virtualenv吧,很容易引起混乱,除非你们之间的接口是服务形式的或者是需要对外发布。

    如果是目前公司内部已经在生产环境上使用了多个版本的python并且无法控制,建议你们交付的时候,也别交付python的数据打包了,直接交付docker的镜像吧,能保证在开发团队和测试团队之间的版本一致性,否则,你会发现代码多了,总会有同事漏掉点什么提交的。

    2022-10-30 17:19 回答
  • 可以内部自建pip源

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