在Python程序中引入第三方库的最佳实践是什么?
下午好。
我正在为我的工作写一个小到中型的Python程序。这个任务需要我使用Excel的库xlwt和xlrd,还有一个用来查询Oracle数据库的库,叫做cx_Oracle。我通过一个版本控制系统来开发这个项目,也就是CVS。
我想知道在Python项目中,组织第三方库的标准方式是什么。像xlwt、xlrd和cx_Oracle这些库应该放在像/usr/local/lib/python这样的目录里吗?这个目录应该在PYTHONPATH中吧?还是说这些第三方库应该和项目的源代码放在同一个目录里,这样就可以和项目一起“打包”出去,让Python脚本在不同的平台上都能用。
我只是想了解一些最佳实践,因为我之前是用Java,现在刚开始接触Python。
提前谢谢你,
ktm
1 个回答
6
你基本上有两种选择(就像你在Java中可能会看到的那样)。
第一种是把外部依赖包放到你的应用里,也就是说把所有需要的依赖文件都复制到你的应用目录里。通常不推荐这样做,除非你必须要能打包成一个单独的安装文件或程序。在这种情况下,你还得考虑到所有支持的平台。
处理依赖的更好方法是记录下你的应用需要哪些依赖。一个常见的方法是创建一个叫做requirements.txt的文件,里面列出所有依赖,这样你就可以用 pip install -r requirements.txt
这个命令来安装所有的依赖。Buildout 也是一个可以选择的工具。