首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何打包一个python应用程序,使其成为pip-installable?

如何打包一个python应用程序,使其成为pip-installable?
EN

Stack Overflow用户
提问于 2011-03-19 15:53:53
回答 1查看 38.7K关注 0票数 96

我在业余时间编写了一个django应用程序,为我们在工作中举办的足球小费比赛做准备。我想我应该明智地利用这段时间,快速掌握virtualenv、pip、打包、django 1.3以及如何编写可轻松重新分发的应用程序。到现在为止还好。

我已经准备好包装部分了。例如,GitHub上的许多django应用程序都是以同样的方式(大致)捆绑在一起的。我将以django-uni-forms为例。

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

所需的打包文件通常是生成的,还是手工制作的?是否可以描述依赖关系,然后再进行安装?我的应用程序依赖于django-uni-forms,并且我将其列在我的应用程序中的requirements.txt文件中,我使用该文件来安装依赖项;但是打包系统可以处理这件事吗?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-20 04:54:30

是的,MANIFEST.insetup.py应该足够了。

这篇博文确实有一些关于这个主题的好信息:Packaging a Django reusable app

下面是另一个很好的、详细的概述,它对我帮助很大:Python Packaging User Guide

尤其是包含静态文件(模板)的提示非常重要,因为这在一开始可能并不明显。

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

例如:

    install_requires = [
        'django-profiles',
        'django-uni-forms',
    ],

显然,现在我们有两个地方定义了依赖关系,但这并不意味着这些信息是重复的:setup.py vs requirements.txt

使用此设置,您的软件包应该可以通过pip安装。

正如Pierre在评论中指出的那样,现在Django的官方文档中也有一个相关的部分:Packaging your app

然后是这个“完全不完整”的指南,它对打包和上传包到PyPI给出了一个很好的概述:Sharing Your Labor of Love: PyPI Quick And Dirty

票数 88
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5360873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档