3

我有一个程序/笑话需要一个相当大的数据结构来运行(一个需要几秒钟才能构建的字典),我想在运行时创建并将其腌制到安装目录中python setup.py install

setup()indistutils.core看起来它不应该退出,所以我认为我可以导入我的模块并在调用setup()setup.py 后调用该函数,但它似乎不起作用,即使安装确实有效。

这就是我的 setup.py 现在的样子:

from distutils.core import setup

setup(...
    )

from phoneoops import utils

utils.get_hashed_dictionary(save=True)
4

1 回答 1

1

我创建了一个虚拟 setup.py 为:

from distutils.core import setup
setup()
print 'after'

我的打印语句在运行后打印得很好python setup.py install
我尝试了一个无效的命令,例如python setup.py xx,并且没有调用 after print 。

您确定它没有引发异常或 SystemExit 吗?

当我将这个简单的示例修改为:

try:
    setup()
except SystemExit as e:
    print e
print 'after'

然后跑了python setup.py xx,after 语句运行良好。

编辑:
同意,@AndiDog,这更好(除非出于某种原因你吞下异常):

try:
    setup()
finally:
    print 'after'
于 2010-10-16T02:04:36.183 回答