如何在Python程序中使用第三方库的最佳实践是什么?

3
下午好。
我正在为我的工作编写一个小到中型的Python程序。该任务要求我使用Excel库xlwt和xlrd,以及用于查询Oracle数据库的名为cx_Oracle的库。我通过版本控制系统CVS开发项目。
我想知道组织Python项目周围第三方库的标准方式是什么。应该将xlwt、xlrd和cx_Oracle这些库存储在目录/usr/local/lib/python等目录中,该目录应该位于PYTHONPATH中吗?还是第三方库应该包含在与项目源代码相同的目录中,有效地“随项目一起”分发,这样Python脚本就更具平台独立性。
我只是在寻找最佳实践,因为我来自Java并且是Python新手。
提前感谢, ktm

这些模块是由贵公司自行安装的,还是作为Python预装模块内置的? - Matt Habel
@Henry 这与他的问题实际上没有任何关系。这确实与手头的问题无关。 - Matt Habel
1个回答

6
你基本上有两个选项(就像你可能从Java中认识的一样)。
一种是将外部依赖项打包到您的应用程序中,这意味着您将所有依赖项复制到应用程序的目录结构中。除非您必须能够发布单个安装或二进制文件,否则通常不建议这样做。在这种情况下,您必须能够处理所有支持的平台。
处理依赖关系的更好方法是记录您的应用程序依赖关系。一种方法是以pip格式定义一个requirements.txt文件,然后可以通过 pip install -r requirements.txt 运行它,这将继续安装所有依赖项。 Buildout是另一个您可以选择的选项。

1
我们还要提到setuptools(以及它的分支distribute),这是pip和buildout的基础库,它有自己的依赖格式和基本安装程序,能够获取依赖项。 - merwok

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接