Я создал фиктивный файл setup.py как:
from distutils.core import setup
setup()
print 'after'
, и мой оператор печати печатается очень хорошо после выполнения python setup.py install
.
Я попытался ввести недопустимую команду, например python setup.py xx
, и послеprint не вызывается.
Вы уверены, что оно не вызывало исключение или SystemExit?
Когда я изменил этот простой пример на:
try:
setup()
except SystemExit as e:
print e
print 'after'
иrun python setup.py xx
, оператор after работал нормально.
Edit:
Согласен, @AndiDog, это лучше (если по какой-то причине вы не * 1022)* хочу проглотить исключение):
try:
setup()
finally:
print 'after'