在python程序中合并第三方库的最佳实践是什么?

ktm*_*124 3 python python-module

下午好.

我正在为我的工作编写一个中小型python程序.该任务要求我使用Excel库xlwtxlrd,以及用于查询Oracle数据库的库,名为cx_Oracle.我正在通过版本控制系统(即CVS)开发项目.

我想知道围绕python项目组织第三方库的标准方法是什么.库xlwt,xlrd和cx_Oracle是否应该存储在/ usr/local/lib/python这样的目录中,这个目录可能在PYTHONPATH中占有一席之地?或者,第三方库应该与项目的源代码包含在同一目录中,有效地"运出"项目,这样python脚本更加独立于平台.

我只是在寻找最佳实践,因为我来自Java并且是Python新手.

在此先感谢,
ktm

Yuv*_*dam 5

您基本上有两个选项(就像您可能从Java中认识到的那样).

一种是在应用程序中打包外部依赖项,这意味着您将所有依赖项复制到您的应用程序目录结构中.除非您必须能够发送单个安装或二进制文件,否则通常不建议这样做.在这种情况下,您必须能够处理所有支持的平台.

处理依赖关系的更好方法是记录您的应用程序依赖项.一种方法是以pip格式定义一个requirements.txt文件,然后可以运行该文件,然后pip install -r requirements.txt继续安装所有依赖项.Buildout是您可以使用的另一种选择.