我目前正在用python开发一个命令行应用程序,我将把它上传到pypi,供最终用户使用。我正在利用setup.py
中的extras
功能来支持我的应用程序的两个版本,一个是具有最小依赖性的基本功能版本,另一个功能更丰富,但有大量依赖性(numpy、pandas、networkx、matplotlib等)
简而言之:
pip install app # simple, no deps
pip install app[all] # all the deps
现在的问题是,我在功能丰富的版本中的一个依赖项具有所谓的“flakey”pypi支持。基本上,除非在整个安装过程发生之前已经预装了它的一个依赖项,否则不能安装它。幸运的是(或者不是),我的应用程序(拉入这个flakey模块)也有需要的flakey模块。让我们参考flakey模块需要预装的模块fixer-module
所以:
pip install app[all] # triggers the installation of flakey module
如果没有安装fixer模块,安装将失败,即使它将在flakey模块安装之前安装。基本上必须这样做:
pip install fixer-module
pip install app[all]
现在,我要做的是包含一些检查代码,以完成以下任务:
app[all]
发行版时运行try import fixer-module, except ImportError
检查并打印一条解释情况的消息李>我研究这个已经有一段时间了。我找到了一些检查setup.py
的输入参数的例子,但没有一个例子能说明如何在最终用户安装过程中处理这些内容。非常感谢您的指点
目前没有回答
相关问题 更多 >
编程相关推荐