如何构建依赖于大型系统库的Python包

时间:2012-04-26 15:48:24

标签: python opencv pip distutils

当Python包依赖于大型系统库时,通过disutils构建Python包的适当方法是什么?

我发现了这个similar question,但它指的是一个可安装的Python应用程序,而不是通用包。

我写了一个依赖OpenCV的软件包。我只关心支持Linux发行版,但大多数发行版要么不提供OpenCV,要么提供一个太旧而无法使用的版本。不幸的是,OpenCV是庞大而繁琐的(并且依赖于其他几个系统库)包含在包中并在构建步骤中进行编译。

我目前的做法是在setup.py中简单地做一些特别的事情,只是在try / except中导入它的Python模块,如果导入失败则会显示详细的错误消息。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用zc.buildout:http://www.buildout.org/

您应该可以从这个扩展项目的buildout配置:https://github.com/cpsaltis/opencv-buildout