Can*_*ans 10 python setuptools gobject-introspection
我正在打包一个python应用程序,它依赖于几个C库通过gobject内省.我想确保至少安装了glib中的python模块(即gi模块,在Debian中打包为python-gi,我不是在讨论不推荐使用的PyGObject模块).将其添加为常规依赖项会导致安装失败,因为它不在Pypi中.
我应该怎么声明这个?我看了一个setuptool doc,但我看不到任何诀窍.
谢谢.
相关问题:
setuptools您不能使用(AFAIK,即...)指定非Python依赖项。
关键字install_requirestosetuptools.setup只能指定Python风格的依赖关系;它的目标是 Python 打包基础设施。Python 风格的安装程序(pip、easy_install或python setup.py install)将使用仅查找和解析 Python 风格的包的策略来解决此类依赖关系。其中一种策略是使用像 PyPI 这样的包索引。
如果您想创建一个具有 Debian 风格依赖项的软件包,这些依赖项由 Debian 风格安装程序使用 Debian 软件包存储库解析,则必须创建一个 Debian 软件包。有一些工具支持从 Python 项目创建 Debian 软件包,例如easydeb和stdeb。然而,大多数人建议加倍努力并明确创建 Debian 软件包。
\n\n在一般情况下,通过 PyPI 打包和分发 Python 项目应该是正确的选择。它独立于平台和发行版,并且可以与pip等特定于 Python 的安装程序以及virtualenv或buildout等工具完美配合。对 PyGI 的依赖需要向用户记录事实,就像pydbus 包在其 README 中所做的那样:
\n\n\n\n\n它\xe2\x80\x99s 基于 PyGI(Python GObject Introspection 绑定),这是从 Python 使用 GLib 的推荐方法。不幸的是,PyGI 未打包在 pypi 上,因此您需要从发行版 xe2x80x99s 存储库(通常称为 python-gi、python-gobject 或 pygobject3)安装它。
\n
当从 PyGI 导入时,您的项目也可能是防御性的,当导入失败时,向用户呈现一条易于理解的错误消息,例如“请 sudo apt-get install python-gi”等。
\n| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |