小编Mar*_*ade的帖子

如何让我的 vscode 终端使用我的 venv for python 而不是系统版本?

我已经设置了一个 venv using python -m venv venv,它被 vscode 识别为有效的解释器,并使用代码运行器 vscode 扩展按预期运行我的代码。但vscode集成的bash终端仅使用系统版本的python,即使运行后也是如此source /Fake/path/to/env/bin/activate。终端显示(env)在输入提示符上,但通过检查版本os.path.dirname(sys.executable)显示 python 的版本是我的系统路径中的版本,而不是 venv 中的版本。所以我正在安装的包被安装到系统 python 而不是 venv。

这是 vscode 中终端的问题,而不是 venv 本身的问题,因为当我在本机终端(非集成)中按照上述步骤操作时,我得到了 venv python 的正确路径。

我尝试将python.venvPathvscode 中的变量设置为${workspaceFolder}/envor tofake/path/to/env但都不起作用。我认为可能可以在该terminal.integrated.shellArgs.macos设置下设置 bash shell 参数,但无法弄清楚如何让它在启动时运行正确的激活脚本。作为参考,我当前的 vscode 设置如下:

"settings": {
    "code-runner.fileDirectoryAsCwd": true;
    "code-runner.executorMap": {
        "python": "env/bin/python3",
    },
    "python.venvPath": "${workspaceFolder}/env",
    "terminal.integrated.cwd": "${workspaceFolder}",
    },
}
Run Code Online (Sandbox Code Playgroud)

基本上,我期望集成终端激活 venv activate bash 脚本并临时替换路径以获取我的 venv python 作为默认值。然后我就可以使用 pip3 将相关包安装到 venv 而不是系统 python 中。但是,尽管在条目之前显示提示,但实际行为是在发出命令(例如或 ) …

python macos python-venv visual-studio-code

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

macos ×1

python ×1

python-venv ×1

visual-studio-code ×1