【问题标题】:VSCode Python with Git bash: After running program, tries to run Activate.ps1VSCode Python with Git bash:运行程序后,尝试运行Activate.ps1
【发布时间】: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


    【解决方案1】:

    环境会在 .py 文件执行后自动激活,除非您手动将 python.terminal.activateEnvironment 设置更改为 false

    更多详细信息可以参考Environments and Terminal Windows

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      相关资源
      最近更新 更多