14

在组织 python 模块时,我的 Mac OS X 系统是一团糟。我的硬盘上到处都有包裹,没有特定的系统来组织它们。

你如何保持一切可控?

4

8 回答 8

13

我的建议:

于 2008-10-06T09:48:54.330 回答
5

除了 PEP8 和 easy_install,您还应该查看 virtualenv。Virtualenv 允许您拥有多个不同的 python 库树。在工作中,我们使用带有引导环境的 virtualenv 来快速建立一个开发/生产环境,我们都在同步 wrt 库版本等。我们通常协调库升级。

于 2008-10-05T13:47:05.707 回答
5

有几个 Python 组件系列。

  1. Python 附带的东西。这会照顾好自己。

  2. 您使用 easy_install 获得的东西。这也照顾好自己。

  3. 您必须通过其他方式获得的软件包,无论是作为 TARballs 还是 SVN 结帐。创建一个Components文件夹。首先将下载或 SVN 放在那里。每一次。从那里安装。

  4. 您编写的可重复使用的包。我在该Projects文件夹中有一个包含每个项目的文件夹。如果该项目是一个高度可重用的东西,它有一个setup.py,我实际上运行安装就像我下载它一样。我没有很多,但有一些。其中一些可能会成为开源项目。

  5. 您编写的最终应用程序。我在Projects每个顶级应用程序中都有一个文件夹。这些通常是大的、杂乱无章的东西(比如 Django 站点)并且没有setup.py. 为什么?它们通常非常复杂,只需管理几个服务器安装,并且每个服务器安装都是独一无二的。这些通常依靠PYTHONPATH来识别它们的部件。

注意共同的主题。它们要么是您下载的组件,要么是您正在处理的项目。

此外,我将其与客户分开(在一定程度上)。我有一个客户文件夹的主目录,每个文件夹都有项目,每个项目都有销售和交付。并非所有项目都有销售和交付。

于 2008-10-05T19:54:07.793 回答
2

也许PEP8easy_install可以帮助你?

于 2008-10-05T13:38:32.183 回答
2

我将我的包的所有源代码保存在 ~/Packages/ 中,然后在它们上使用“python2.5 setup.py install”进行标准安装。这扔进(对我来说) /Library/Frameworks/Python/Versions/current/lib/python2.5/site-packages/ 。对于我自己的软件的开发,我设置了别名来在trunk/branches/1.0等之间切换,方法是预先放置到PYTHONPATH上。(我必须在每个目录中运行“setup.py build_ext --inplace”才能正确导入。)

值得注意的是,Python2.6 有一个per-user site-packages 目录,您可能会发现它更方便。

于 2008-10-05T15:30:55.140 回答
1

“模块”Python 文档页面是组织代码的有用指南,特别是“包”部分

于 2008-10-05T13:50:39.383 回答
1

我的建议是尝试将所有内容放入您的站点包目录中,除非您有充分的理由不这样做。而且我尽量避免使用easy_install,因为我发现它往往会用鸡蛋位置破坏我的sys.path,但这只是我。有些人觉得它很有用。

如果您有很多程序使用可能相互冲突的不同库,您可能还想查看virtualenv

于 2008-10-05T16:11:30.113 回答
1

刚刚从另一个 StackOverflow 问题中遇到了这个网站:http: //infinitemonkeycorps.net/docs/pph/这不仅仅涉及模块放置,而且一旦你放置它,你就可以编写如何轻松处理文档、测试和分发。

于 2011-12-19T23:25:15.080 回答