setup.py / pypi - 安装过程中捕获错误

时间:2016-05-03 21:21:43

标签: python pip setup.py

我目前正在python中开发一个命令行应用程序,我将上传到pypi,供最终用户pip install使用。我利用extras中的setup.py功能来支持我的应用程序的两个版本,一个是具有最小依赖性的基本功能版本,另一个是功能更丰富但具有大量依赖性( 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-module,安装将失败,即使它将在flakey模块之前安装。基本上必须这样做:

pip install fixer-module pip install app[all]

现在我想要做的是包含一些完成以下内容的检查代码:

  • 仅在安装app[all]发行版时运行
  • 是否try import fixer-module, except ImportError检查并打印解释情况的消息。
  • 在失败前停止并清理安装过程

我一直在研究这个问题。我找到了一些检查输入参数setup.py以及诸如此类的东西的示例,但它们似乎都没有涵盖在最终用户安装过程中如何处理内容。任何指针都非常感谢!

0 个答案:

没有答案