一尘不染

如何打包python应用程序使其可点子安装?

django

我在业余时间正在编写django应用程序,以参加我们正在开展的艰巨竞赛。我认为我会明智地使用这段时间,并加快使用virtualenv,pip,打包,django 1.3以及如何编写易于重新分发的应用程序的速度。到现在为止还挺好。

我要负责包装部分。例如,GitHub上的许多django应用程序大多数都(大致)以相同的方式捆绑在一起。我将以django-uni-forms为例。

我所做的一个假设是,MANIFEST.insetup.py是pip完成工作所需的唯一必需的部分。那是对的吗?如果我的假设是错误的,还需要哪些其他组件?

是否通常生成了所需的包装文件,或者是手工制作的?可以描述依赖项然后再安装吗?我的应用程序依赖django-uni-forms,并且在requirements.txt我用来安装依赖项的应用程序文件中列出了它;但这是包装系统可以解决的问题吗?

我需要遵循哪些步骤来打包我的应用程序,以使pip能够安装它和任何依赖项?


阅读 424

收藏
2020-04-03

共1个答案

一尘不染

是的,MANIFEST.in而且setup.py应该是足够的。

这篇博客文章确实具有有关此主题的一些很好的信息: 打包Django可重用应用程序

这是另一个很好的详细概述,对我有很大帮助: Python打包用户指南

尤其是包含静态文件(模板)的提示很重要,因为起初可能并不明显。

是的,你可以在setup.py其中指定所需的软件包,这些软件包在安装应用程序时会自动获取。

例如:

    install_requires = [
        'django-profiles',
        'django-uni-forms',
    ],
2020-04-03