首页 > 解决方案 > 无法在 VScode 中调试 Python

问题描述

每当我尝试在 VScode(甚至 Visual Studio)中调试任何 python 代码时,我都会在它到达第一行代码之前遇到错误(或者看起来如此)。大约 18 小时前,我能够在我的笔记本电脑和台式电脑上调试 VScode 和 Visual Studio,然后休息一下。截至约 4 小时前,我在尝试运行调试时一直遇到错误。我可以通过 python.exe 通过 cmd.exe 毫无问题地运行代码C:\Python\Python37-32\python.exe C:\Coding\Codecademy\Python\one.py

我尝试卸载 VScode、Visual Studio 和 python,并删除了与任何 VScode 或 Visual Studio 相关的所有文件。然后我重新安装了 VScode 和 python 3.7,尽管终端中仍然出现错误。即使使用简单的print("Hello World").

我目前正在使用 Microsoft 的 Python 扩展,没有安装其他扩展。

错误代码如下:

Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_process_net_command.py", line 841, in process_net_command
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'
Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_process_net_command.py", line 841, in process_net_command
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 411, in _on_run
    self.process_command(cmd_id, int(args[1]), args[2])
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 426, in process_command
    self.process_net_command(self.global_debugger_holder.global_dbg, cmd_id, seq, text)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_process_net_command.py", line 859, in process_net_command
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'
Can't process net command: 501  1000000000      1.1     WINDOWS ID
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Exception in thread pydevd.Reader:
Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_process_net_command.py", line 841, in process_net_command
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 411, in _on_run
    self.process_command(cmd_id, int(args[1]), args[2])
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 426, in process_command
    self.process_net_command(self.global_debugger_holder.global_dbg, cmd_id, seq, text)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_process_net_command.py", line 845, in process_net_command
    traceback.print_exc()
  File "C:\Python\Python37-32\lib\traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "C:\Python\Python37-32\lib\traceback.py", line 101, in print_exception
    print(line, file=file, end="")
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_io.py", line 30, in write
    r.write(s)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 1242, in write
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 413, in _on_run
    traceback.print_exc()
  File "C:\Python\Python37-32\lib\traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "C:\Python\Python37-32\lib\traceback.py", line 101, in print_exception
    print(line, file=file, end="")
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_io.py", line 30, in write
    r.write(s)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 1242, in write
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 321, in run
    self._on_run()
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 418, in _on_run
    traceback.print_exc()
  File "C:\Python\Python37-32\lib\traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "C:\Python\Python37-32\lib\traceback.py", line 101, in print_exception
    print(line, file=file, end="")
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_io.py", line 30, in write
    r.write(s)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 1242, in write
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 324, in run
    traceback.print_exc()
  File "C:\Python\Python37-32\lib\traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "C:\Python\Python37-32\lib\traceback.py", line 101, in print_exception
    print(line, file=file, end="")
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_io.py", line 30, in write
    r.write(s)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 1242, in write
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'
Unhandled exception in thread started by Unhandled exception in thread started by <bound method Thread._bootstrap of <ReaderThread(pydevd.Reader, started daemon 1916)>>

Traceback (most recent call last):


During handling of the above exception, another exception occurred:



During handling of the above exception, another exception occurred:



During handling of the above exception, another exception occurred:



During handling of the above exception, another exception occurred:



During handling of the above exception, another exception occurred:


Traceback (most recent call last):

Traceback (most recent call last):
Exception in thread pydevd.CheckAliveThread:
Traceback (most recent call last):
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 321, in run
    self._on_run()
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 185, in _on_run
    if not self.py_db.has_threads_alive() and self.py_db.writer.empty():
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 488, in empty
    return self.cmdQueue.empty()
AttributeError: 'Queue' object has no attribute 'empty'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 324, in run
    traceback.print_exc()
  File "C:\Python\Python37-32\lib\traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "C:\Python\Python37-32\lib\traceback.py", line 101, in print_exception
    print(line, file=file, end="")
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_io.py", line 30, in write
    r.write(s)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\pydevd.py", line 1242, in write
    py_db.writer.add_command(cmd)
  File "c:\Users\kyrus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd\ptvsd\_vendored\pydevd\_pydevd_bundle\pydevd_comm.py", line 448, in add_command
    self.cmdQueue.put(cmd)
AttributeError: 'Queue' object has no attribute 'put'
Unhandled exception in thread started by Unhandled exception in thread started by <_pydev_bundle.pydev_monkey._NewThreadStartupWithTrace object at 0x0405B7F0>

Traceback (most recent call last):


During handling of the above exception, another exception occurred:



During handling of the above exception, another exception occurred:


Unhandled exception in thread started by Unhandled exception in thread started by <_pydev_bundle.pydev_monkey._NewThreadStartupWithTrace object at 0x04096B10>

Traceback (most recent call last):

更新:问题仍然存在,但我注意到另一个区域似乎引发了关于 python 的类似错误(与“队列”对象有关)。每当我尝试安装 linter 时,它都会在终端中引发以下错误:

PS C:\Coding\Codecademy\Python> & C:/Python/Python37/python.exe -m pip install -U pep8 --user
Traceback (most recent call last):
  File "C:\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python\Python37\lib\site-packages\pip\__main__.py", line 16, in <module>
    from pip._internal import main as _main  # noqa
  File "C:\Python\Python37\lib\site-packages\pip\_internal\__init__.py", line 20, in <module>
    from pip._vendor.urllib3.exceptions import DependencyWarning
  File "C:\Python\Python37\lib\site-packages\pip\_vendor\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Python\Python37\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 58, in <module>
    class ConnectionPool(object):
  File "C:\Python\Python37\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 65, in ConnectionPool
    QueueCls = queue.LifoQueue
AttributeError: module 'queue' has no attribute 'LifoQueue'
PS C:\Coding\Codecademy\Python>

标签: pythondebuggingvisual-studio-code

解决方案


尝试检查您的 python 版本当我尝试在 VScode 中运行我的 python3 代码时遇到了类似的错误。尝试在 vscode 中更改 python 版本。


推荐阅读