使用 venv - VS Code 调试没有看到所有 pip 安装的包

Jon*_* S. 7 debugging pip python-3.x visual-studio-code

在带有 venv 环境的 Python 3.7.2 32 位 Windows 上运行 VS Code。我已经搜索了又搜索,要么是我做错了什么,要么 VS Code 不会做我想让它做的事情。

在下面运行的 VS Code 调试器"Python: Current File (Integrated Terminal)"找不到pip install在我的(env). 事实上,这些软件包似乎根本没有安装在虚拟环境中。

每当我尝试调试单个 py 文件时,调试器都会告诉我它找不到我使用pip. 我安装了包里面的venv (env),或者我是这么想的。但是,pip list(env)活动状态下运行会显示与停用时相同的列表。

我注意到pip install(env)处于活动状态时运行并不总是会导致软件包安装在我的环境中。pip list将显示它,但pip show在 Python 的appdata\local\programs\python\python37-32\lib\site-packages.

我正在使用python -m venv envvs 代码终端(python shell 或 git bash shell)内部创建环境。它显示(env)为活跃,所以我不确定我在做什么。

我没有更改 launch.json 配置: { "name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" }

VS Code 显示我正在使用正确的 venv 解释器:

Python 3.7.2 32-bit ('env': venv)

python script.py每次直接在 VS Code 终端中运行脚本都能正常工作。

从以下位置手动复制包:

appdata\local\programs\python\python37-32\lib\site-packages

env\lib\site-packages

允许调试器无错误地工作。这很好,这是一种解决方法,但问题似乎更多是因为我venv实际上不像venv.

我在我的 linux 机器上没有看到 venv 有任何问题,但它们大多是无头的,所以我没有运行 VS Code。

知道我错过了什么吗?谢谢你的帮助。

小智 2

您是否尝试过添加:

"justmycode": false
Run Code Online (Sandbox Code Playgroud)

在调试配置中?它默认为 true,并且只允许您调试自己的文件。这是我的配置:

    {
        "name": "Python: Current File (Integrated Terminal)",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "justMyCode": false
    }
Run Code Online (Sandbox Code Playgroud)