Python 3.x 使用setuptools,我可以让我的Python包依赖/安装一个非Python实用工具/可执行文件吗?

Python 3.x 使用setuptools,我可以让我的Python包依赖/安装一个非Python实用工具/可执行文件吗?,python-3.x,packaging,setuptools,pypi,Python 3.x,Packaging,Setuptools,Pypi,我正在尝试编写一个Python实用程序,它是一个围绕现有命令行程序(wmctrl-)的薄型包装器 我想在PyPI上提供我的程序,以便稍后与大家分享我的工作。但由于wmctrl具有核心功能,我的代码在很大程度上依赖于它的安装 是否有方法将setuptools配置为依赖于非Python/非setuptools依赖项,如wmctrl?如果二进制文件不存在,我希望setuptools安装失败。(理想情况下,我希望安装setuptools,但这似乎不太可能…) Python打包/设置工具似乎真正适合与其他

我正在尝试编写一个Python实用程序,它是一个围绕现有命令行程序(wmctrl-)的薄型包装器

我想在PyPI上提供我的程序,以便稍后与大家分享我的工作。但由于wmctrl具有核心功能,我的代码在很大程度上依赖于它的安装

是否有方法将setuptools配置为依赖于非Python/非setuptools依赖项,如wmctrl?如果二进制文件不存在,我希望setuptools安装失败。(理想情况下,我希望安装setuptools,但这似乎不太可能…)

Python打包/设置工具似乎真正适合与其他Python打包依赖项(PyPI包、基于设置工具的VCS repo等)一起工作。我在网上找不到任何关于将其配置为依赖于其他第三方可执行文件的信息


感谢所有在此提供指导/帮助的人。

这很简单。如果存在某个工具,您只需检查
setup.py
,如果不存在,则会引发错误。在setup.py中安装非Python依赖项很棘手。事实上,我从未在更大的项目中看到过这一点。这相当简单。如果存在某个工具,您只需检查
setup.py
,如果不存在,则会引发错误。在setup.py中安装非Python依赖项很棘手。事实上,我从未在更大的项目中看到过这一点。