创建 Python 包结构和 egg 的简单说明是啥?

Posted

技术标签:

【中文标题】创建 Python 包结构和 egg 的简单说明是啥?【英文标题】:What are simple instructions for creating a Python package structure and egg?创建 Python 包结构和 egg 的简单说明是什么? 【发布时间】:2011-02-24 17:39:08 【问题描述】:

我刚刚完成了我的第一个(次要)Python 项目,我的老板希望我将它打包好,以便可以轻松地从其他程序分发和调用。他建议我研究鸡蛋。我一直在谷歌搜索和阅读,但我只是感到困惑。我正在查看的大多数网站都解释了如何使用已经创建的 Python 鸡蛋,或者如何从 setup.py 文件(我还没有)创建鸡蛋。我现在只有一个 Eclipse pydev 项目,其中包含大约 4 个模块和一个设置/配置文件。在简单的步骤中,我如何将其构建到文件夹/包中并将其编译成鸡蛋?一旦它是一个鸡蛋,关于部署/构建/使用它我必须知道什么?我真的是从零开始,所以不要以为我什么都知道;简单的分步说明会很有帮助...

这些是我目前浏览过的一些网站:

http://peak.telecommunity.com/DevCenter/PythonEggs http://www.packtpub.com/article/writing-a-package-in-python http://www.ibm.com/developerworks/library/l-cppeak3.html#N10232

我也浏览了一些 SO 问题,但还没有真正找到我需要的。

谢谢!

【问题讨论】:

【参考方案1】:

您只需要阅读以下内容:The Hitchhiker's Guide to Packaging

或使用 pip 或 easy_install 安装 PasteScript,然后

paster create your_package_name

你会得到一个 python 包的模板

【讨论】:

....多年后...用户是一个初学者,正在寻找包装的“分步指南”,而Hitchiker's Guide to Packaging 就是这样,提供确切内容的出色工作被要求。 这是有史以来最好的事情! 但是在你需要像这样安装 paste 之前:pip install pastescript【参考方案2】:

您应该遵守distutils 的标准包装。引用James Bennett:

看在 Guido 的份上,请停止使用 setuptools 和 easy_install,改用 distutils 和 pip。

从那里开始,一个非常标准的分布看起来像:

module/
README
setup.py # follow http://docs.python.org/distutils/setupscript.html
tests/

【讨论】:

不幸的是,Windows 不支持 pip,在我看来,这对于打包系统来说是一个相当大的缺陷。我知道很多人都希望 Windows 消失——而且 Python 从来没有在 Windows 上得到很好的支持——但至少可以说它是一个广泛使用的平台。 Visual Studio 2012 支持 pip 和 easy_install 与 [PVTS](pytools.codeplex.com)【参考方案3】:

根据您使用的 Python 版本,您应该能够通过以下方式之一找到您需要的内容:

http://docs.python.org/distutils/ http://docs.python.org/py3k/distutils/index.html

【讨论】:

以上是关于创建 Python 包结构和 egg 的简单说明是啥?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在python包构建后上传* .egg-info [重复]

如何创建 Python 鸡蛋文件

easy_install 创建一个 egg 目录而不是 egg 文件

Python:如果安装了同一个包的多个egg版本,如何具体导入我需要的版本?

whl格式 和egg格式

Python pip 安装失败:无效命令 egg_info