winpdb没有使用python 3.3

我不能让rpdb2与
python 3.3一起运行,而根据几个来源,这应该是可能的.

$rpdb2 -d myscript.py
A password should be set to secure debugger client-server communication.
Please type a password:x
Password has been set.
Traceback (most recent call last):
  File "/usr/local/bin/rpdb2", line 31, in <module>
    rpdb2.main()
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 14470, in main
    StartServer(_rpdb2_args, fchdir, _rpdb2_pwd, fAllowUnencrypted, fAllowRemote, secret)
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 14212, in StartServer
    g_module_main = -1
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 14212, in StartServer
    g_module_main = -1
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 7324, in trace_dispatch_init
    self.__set_signal_handler()
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 7286, in __set_signal_handler
    handler = signal.getsignal(value)
  File "/usr/local/lib/python3.3/dist-packages/rpdb2.py", line 13682, in __getsignal
    handler = g_signal_handlers.get(signum, g_signal_getsignal(signum))
ValueError: signal number out of range

rpdb2的版本是RPDB 2.4.8 – Tychod.
我通过运行pip-3.3 install winpdb来安装它.

有线索吗?

最佳答案 今天遇到同样的问题这就是我为它所做的工作.

我仍然不太确定这样做是否正确.

从:

def __getsignal(signum):
    handler = g_signal_handlers.get(signum, g_signal_getsignal(signum))
    return handler

至:

def __getsignal(signum):
    try:
        # The problems come from the signum which was 0.
        g_signal_getsignal(signum)
    except ValueError:
        return None
    handler = g_signal_handlers.get(signum, g_signal_getsignal(signum))
    return handler

该功能应在第13681行或类似的地方.

点赞