我完全不熟悉Python,但我有一段代码需要修改。它来自sublimetext2的SublimeXdebug插件,这是唯一一个用Sublime Text调试PHP的插件。这个插件是用Python编写的,更确切地说,是用python2.6或更早版本编写的,而运行插件的系统(ubuntu12.04)只支持Python>;=2.7。然而,插件/崇高文本开发人员似乎设法“模拟”了Python2.6,因为当我在插件代码中插入print sys.version
时,它会报告Python 2.6.6
。它本可以帮助其他一些插件,但不能帮助SublimeXdebug:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\threading.py", line 484, in run
File "./Xdebug.py", line 321, in thread_callback
protocol.accept()
File "./Xdebug.py", line 137, in accept
raise(ProtocolConnectionException, x)
ProtocolConnectionException
有问题的代码(可能不是唯一的一段)是这样的:
^{pr2}$(对于那些建议在.deb中下载2.6版本的Python,将其解包,然后将usr/lib/python2.6
移到{
那么问题的根源可能是Python版本不匹配还是其他原因?在
编辑:
如果我把第137行改为raise
,它会说:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\threading.py", line 484, in run
File "./Xdebug.py", line 321, in thread_callback
File "./Xdebug.py", line 132, in accept
File "<string>", line 1, in bind
error: [Errno 98] Address already in use
第132行是serv.bind(('', self.port))
。在
我怀疑这个Python版本的东西是一个红鲱鱼。这段代码试图监听一个TCP端口(不管
self.port
是什么),但是有其他东西已经在那里监听了。在Linux上,您可以运行sudo netstat -anp | grep LISTEN
来确定这是什么进程。在相关问题 更多 >
编程相关推荐