正确的Python打包与外部软件包依赖关系

问题描述:

假设我有一个项目依赖于只能通过系统软件包管理器安装的软件包(例如绑定到C库),因此install_requires不起作用。正确的Python打包与外部软件包依赖关系

目前,如果导入失败,我尝试导入setup.py中的所有软件包,并调用sys.exit()并带有正面退出代码。这是好的做法还是有更好的方法来完成这一点?

您可以创建本地系统封装(debrpm等),并描述了它的依赖(这是在你的情况下,C库)。您可以检查Debian packages packing manual(或者某些其他经理的软件包,具体取决于您使用的系统)。

+0

依赖通过'apt','yum'等可以安装。但是我需要找到一种方法来在我的'setup.py'中指定这些依赖。或者如果没有安装,就会优雅地失败。 – matthias 2013-05-14 13:50:22

+0

是的,如果以这种方式安装依赖项,则可能应为您的包创建apt和yum版本。 – 2013-05-14 13:52:33

+0

我在想这个,并得出这样的结论:这在技术上是一个正确的解决方案,但需要我很多的努力。对于非常小的和“不太重要”的项目尤其如此。 – matthias 2013-05-15 06:53:41