python setuptools即使失败也会返回退出代码0

时间:2019-04-27 00:53:22

标签: python-3.x setuptools

我正在使用python 3.5,并且注意到python setuptools会返回退出代码0,即使程序包编译失败。我所做的只是python setup.py bdist_egg,然后检查退出代码echo $?。 stdout在编译中显示语法错误,但退出代码为0。这在setuptools中是预期的吗?如果是这种情况,在bash脚本中捕获程序包编译错误的典型方法是什么?

这里是一个示例:

#setup.py
from setuptools import setup, find_packages
setup(
    name="HelloWorld",
    version= '0.1',
    packages=find_packages(),
)

有Hello目录,其中仅包含hello.py__init__.py init .py仅包含一行“ 1 +”。这行产生预期的语法错误。当我运行python setup.py bdist_egg时,确实在stdout上看到了预期的语法错误:

byte-compiling build/bdist.linux-x86_64/egg/Hello/hello.py to hello.cpython-36.pyc
  File "build/bdist.linux-x86_64/egg/Hello/hello.py", line 1
    1 +
       ^
SyntaxError: invalid syntax

但是,当我检查返回代码echo $?时,它显示为0。这是设计使setuptools的预期行为吗?如果是这样,我如何在Shell脚本中知道该软件包已成功构建或失败?

0 个答案:

没有答案