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

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

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 其他(我没有想到)


我觉得docker形式的微服务是王道


可以内部自建pip源


直接源码库的形式呗.


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

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

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

【热门文章】
【热门文章】