创建 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 [重复]
easy_install 创建一个 egg 目录而不是 egg 文件