【问题标题】:How to debug python in VS Code with virtualenv? Again如何使用 virtualenv 在 VS Code 中调试 python?再次
【发布时间】:2020-02-13 21:26:55
【问题描述】:

我正在尝试在 venv 中调试一个非常简单的脚本,而 Python 调试器只是拒绝开始工作。

Windows 10 x64 上的 Python 扩展版本为 2019.10.41019。

python版本是3.7.1 32位。

没有虚拟环境的调试工作正常。然后我在 C:\TMP\PYENV 中创建了一个 venv,并在 launch.json 中添加了一个配置:

{
    "name": "Python: PYENV",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
    "pythonPath": "C:\\TMP\\PYENV\\Scripts\\python.exe",
},

并开始调试它。终端输出:

c:\TMP\PYENV>C:/TMP/PYENV/Scripts/activate.bat
(PYENV) c:\TMP\PYENV>C:\TMP\PYENV\Scripts\python.exe c:\Users\user\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\ptvsd_launcher.py --default --client --host localhost --port 53150 c:\TMP\PYENV\myscript.py

脚本启动,找到了 venv 中的所有本地导入 - 但我的所有断点都被忽略了。脚本运行(并在某处崩溃)。

缺少什么??

我搜索了相关问题和大多数建议,以使用“python.pythonPath”定义配置。但这在当前版本中不再有效。它应该是我上面示例中的“pythonPath”,或者 VS Code(或 python 扩展?)抱怨名称无效。

【问题讨论】:

    标签: python visual-studio-code virtualenv


    【解决方案1】:

    这是因为您将源代码放在虚拟环境中,这使调试器认为它不是您的代码,而是第三方代码。只需将代码移出就可以了。或者,您可以在调试器配置中set "justMyCode": true,然后它将跟踪所有代码,而不仅仅是调试器认为您自己的代码。

    【讨论】:

    • 布雷特,非常感谢!在其他回复中,我看到了诸如“不要放入他的 venv”之类的建议,但没有解释原因。我欠你一杯啤酒。
    • @ddbug 我不喝酒,但感谢您的情绪。 :)
    猜你喜欢
    • 2022-11-04
    • 2020-09-30
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多