【发布时间】:2021-01-10 01:42:39
【问题描述】:
我将 VSCode 集成终端设置为我的 Git bash,在 settings.json 中使用它:
"terminal.integrated.automationShell.windows": "${env:LOCALAPPDATA}\\Programs\\Git\\bin\\bash.exe",
我选择了 Python 解释器,对我的虚拟环境中的解释器使用“Python:选择解释器” - 当我启动它时,它显示:
当前:C:\work_dir\projdir\py_env\venvdir\Scripts\python.exe
当转到调试器并启动程序(有或没有调试)时,bash 终端打开,并在终端中发出此命令:
/usr/bin/env C:\\work_dir\\projdir\\py_env\\venvdir\\Scripts\\python.exe c:\\Users\\userid\\.vscode\\extensions\\ms-python.python-2020.9.111407\\pythonFiles\\lib\\python\\debugpy\\launcher 61892 -- c:\\work_dir\\projdir\\myscript.py -arg1 arg2
(args 来自我的 launch.json)
然后,脚本完成运行后,在终端中发出此命令:
& C:/work_dir/projdir/py_env/venvdir/Scripts/Activate.ps1
我猜这是 PowerShell 激活 venv 的方式。
当然,这会导致:
bash: syntax error near unexpected token `&'
脚本实际上运行良好。
为什么VSCode在bash终端运行脚本后,会在终端发出命令尝试以PowerShell方式激活venv?
这很奇怪:它尝试在 bash 终端中执行 PowerShell 命令,并尝试在脚本之后而不是之前激活 venv。
【问题讨论】:
标签: python bash visual-studio-code python-venv