如果我按特定顺序导入了两个库,Python 不会退出。我正在使用 python 库scitools和fenicstools。
在 python shell 中,以下将起作用:
import fenicstools
import scitools
exit()
这不会退出但会挂起(反转导入):
import scitools # ok
import fenicstools # ok
exit() # gets me stuck, I can still exit with Ctrl+C
我可以在两台 Ubuntu 14.04 机器上重现这一点,但现在完全不知所措。我什至如何开始调试这样的问题?
背景:我正在使用苏门答腊来跟踪我的数值模拟。它收集并记录我的项目依赖项的版本。因此,我无法控制它尝试这样做的顺序。结果:卡住了。
编辑:
按照@ErlVolton 的建议,我尝试了 pdb。将两个导入按有问题的顺序放入一个名为test.py
.
$ pdb test.py
> /home/gallomania/test.py(1)<module>()
-> import scitools
(Pdb) n
> /home/gallomania/test.py(2)<module>()
-> import fenicstools
(Pdb) n
--Return--
> /home/gallomania/test.py(2)<module>()->None
-> import fenicstools
(Pdb) exit
...这使得 pdb 不退出。