Python Eventlet引发无法理解的异常
我使用的是Eventlet的示例代码,可以在这里找到: 在运行的中途,我遇到了以下多个实例:Python Eventlet引发无法理解的异常,python,asynchronous,eventlet,Python,Asynchronous,Eventlet,我使用的是Eventlet的示例代码,可以在这里找到: 在运行的中途,我遇到了以下多个实例: Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/eventlet-0.9.9-py2.6.egg/eventlet/hubs/hub.py", line 285, in fire_timers timer() File "/usr/local/lib/python2.6/dis
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/eventlet-0.9.9-py2.6.egg/eventlet/hubs/hub.py", line 285, in fire_timers
timer()
File "/usr/local/lib/python2.6/dist-packages/eventlet-0.9.9-py2.6.egg/eventlet/hubs/timer.py", line 56, in __call__
cb(*args, **kw)
TypeError: exceptions must be classes, or instances, not bool
如果不安装setuptools(我拒绝这样做),我无法安装eventlet,因此我无法复制或尝试调试它;代码检查没有发现明显的地方,只有几个可能重新提出“任何东西”的裸
raise
语句。要调试它,您必须通过添加日志调用来“插入”代码(祝您在egg
中这样做好运,这也是我为什么不安装setuptools
!)的原因之一)并进行大量思考。或者,只要在eventlet的问题跟踪器上打开一个bug,不管它在哪里。“不可理解”是不正确的——很明显,某个点在引起一个bool
——但是,在鸡蛋里很难找到!)好奇的是,你为什么不安装setuptools?你认为这是一个安全风险还是什么?我不理解亚历克斯关于把调试代码添加到一个鸡蛋很难的问题:只要鸡蛋被解开了(它看起来是大黄的回溯,它是)它不比在Python的标准库中编辑任何其他源文件更难。当然,为了安全起见,在做这些事情时,您应该使用virtualenv,然后您可以安装和破解鸡蛋,而不会影响任何标准代码。我目前在Windows上,因此无法安装eventlet以获得有用的答案。