2012-04-26 59 views
4

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

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

我写了一个依赖于OpenCV的包。我只关心支持Linux发行版,但大多数发行版要么不提供OpenCV,要么提供的版本太旧而无法使用。不幸的是,OpenCV很大并且很麻烦(并且依赖于其他几个系统库)以便在构建过程中包含并编译。

我目前的做法是根本就没有什么特别的,我setup.py和刚刚导入的Python模块在一个try /除外,显示出如果导入失败详细的错误信息。有没有更好的办法?

+0

你能只指定蟒蛇CV模块的依赖?有[ctypes的-的OpenCV(http://pypi.python.org/pypi/ctypes-opencv)和[pyopencv(http://pypi.python.org/pypi/pyopencv) – jterrace 2012-04-26 15:55:28

+0

@jterrace,我曾认为, ,但我不确定我想要那些可能已经过时了。为了在Ubuntu 11.10上编译当前的OpenCV,我必须遵循一组非常复杂的步骤,并且下载并安装非Ubuntu特定的依赖项,而不是在Ubuntu的标准回购站中。我不确定点子可以重现这些步骤。 – Cerin 2012-04-26 22:34:54

+0

我很想知道OpenCV的情况。我不认为你可以解决“庞大而笨拙”的部分,除非你只分离出你想要的OpenCV的部分并且用它们进行编译。也许如果你有一个二进制安装程序,它可以用设置脚本? – KobeJohn 2012-05-06 14:47:04

回答