我们如何管理自定义模块?
时间:2020-03-06 14:45:04 来源:igfitidea点击:
我编写了大量的python脚本,发现自己在重复使用为其他项目编写的大量代码。我的解决方案是确保将代码分为逻辑模块/程序包(这是给定的)。然后,让他们知道setuptools并将它们发布在PyPI上。这样一来,我的其他脚本就可以始终拥有最新的代码,由于不重复我的工作,因此我得到了一种温暖的模糊感,并且总体上讲,我的开发变得不那么复杂。我也感到很高兴,可能有人在外面为他们正在处理的事情找到了我的代码,但主要是出于自私的原因:)
对于所有pythonista使用者,我们该如何处理?我们是否使用PyPI或者setuptools(easy_install)?或者是其他东西?
解决方案
我一直在做同样的事情。提取通用功能,通过额外的文档和单元测试/ doctests完善代码,创建easy_install setup.py,然后在PyPi上发布。最近,我创建了一个Google Code网站,在此我可以管理源代码并保持Wiki处于最新状态。
我们在这里谈论什么样的模块?如果我们打算将项目分发给其他python开发人员,则setuptools很棒。但这通常不是将应用程序分发给最终用户的好方法。在后一种情况下,最好的选择是根据要分发的平台定制包装。当然,这很痛苦,但是它使最终用户的生活变得更加轻松。
例如,在我的Debian系统中,我通常不使用easy_install,因为要使鸡蛋与软件包管理器一起正常工作会更加困难。在OS X和Windows中,我们可能希望分别使用py2app和py2exe打包所有内容。这使最终用户的生活变得更好。毕竟,他们不应该知道或者不在乎脚本是以什么语言编写的。他们只需要安装它们即可。