Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用virtualenv在VS代码中调试python?阿盖恩_Python_Visual Studio Code_Virtualenv - Fatal编程技术网

如何使用virtualenv在VS代码中调试python?阿盖恩

如何使用virtualenv在VS代码中调试python?阿盖恩,python,visual-studio-code,virtualenv,Python,Visual Studio Code,Virtualenv,我试图在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", "prog

我试图在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代码(或python扩展?)抱怨名称无效。

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

Brett,非常感谢!在其他的回复中,我看到了类似“不要放进he venv”的建议,但没有解释原因。我欠你一杯啤酒。@ddbug我不喝酒,但谢谢你的感情。:)