![](/img/trans.png)
[英]Visual Studio Code unable to activate virtual environment automatically in commandPrompt , but works with 'base conda environment'
[英]Auto activate virtual environment in Visual Studio Code
我希望 VS Code 在运行时打开 venv,但我找不到如何做到这一点。 我已经尝试添加到 settings.json 这一行:
"terminal.integrated.shellArgs.windows": ["source${workspaceFolder}\env\Scripts\activate"]
但是,它给我一个 127 错误代码。 我找到了 127 代码的含义。 这意味着, Not found
。 但是,如果我现在看到我的 venv 文件夹,怎么找不到呢?
我认为是终端故障。 我正在使用带有 Git Bash 终端的 Win 10,当您将 Git 安装到您的机器时就会出现。
这就是我在 2021 年的做法:
在您的 vs 代码中输入Ctrl + Shift + P。
找到您的虚拟环境:
Python: select 解释器>进入解释器路径>查找
一旦你找到你的虚拟环境 select 你的 python 版本:
你的虚拟环境 > bin > python3 。
现在在您的项目中,您将看到.vscode目录在其中创建了打开的settings.json并添加:
"python.terminal.activateEnvironment": true
不要忘记在之前添加逗号以将其与已经存在的键值对分开。
现在重新启动终端。
您应该会看到您的虚拟环境自动激活。
实际上,早期建议的解决方案对我不起作用,而是在我的设置中添加了以下内容:
"settings": {
"python.terminal.activateEnvInCurrentTerminal": true,
"python.defaultInterpreterPath": "~/venv/bin/python"
}
当然用你自己的路径替换defaultInterpreterPath(以前是pythonPath)设置(所以不要复制/粘贴第二行)。
你根本不需要这条线。 只需将其删除并切换 Python 解释器以指向venv
中的解释器。 这是一个相关文档(斜体强调我的):
要 select 特定环境,使用Python:Select 解释器命令来自命令面板( Ctrl + Shift + P )。
...并使用终端打开终端:创建新的集成终端命令。 在后一种情况下, VS Code 会自动激活所选环境。
切换解释器后,VS 代码应在工作区中创建一个.vscode
文件夹,其中包含一个settings.json
,指示 python 解释器。 这将为 VS 代码提供定位venv
的方向。
有一个可以使用的新标志: "python.terminal.activateEnvironment": true
我的情况几乎相同。 I am running VSCode on Windows, wanting to used git bash as my default Terminal but after the venv got created, it was doing some weird stuff when a Terminal would open where it couldn't find the correct python interpeter in the venv/Scripts folder即使我做了很多次 ctrl-shift-p 将其重置为 python.exe 那里。 我还想确保激活脚本在终端打开时运行。 我只是无法让调试器正常工作,它一直抱怨找不到 python 解释器,所以我根本无法调试。
So for anyone who is having weird stuff happen trying to use a Git Bash Terminal in VSCode in Windows related to a python project using a virtual env, here is what I found out;
echo $PATH
C:\Users\blah\Documents\blah\Stock-down\Dev\this_api\venv/Scripts:/c/Users/blah/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/blah/bin:/c/Program Files/Go/bin:/c/Python39/Scripts:
因此,每当我尝试调试,甚至只是运行 which python 时,它都会感到困惑,并认为解释器在这里;
which python
C:\Users\blah\Documents\blah\Stock-down\Dev\this_api\venv/Scripts/C/Users/blah/Documents/blah/Stock-down/Dev/this_api/venv/Scripts/python.exe
#unset irrelevant variables
deactivate nondestructive
#VIRTUAL_ENV="C:\Users\blah\Documents\blah\Stock-down\Dev\this_api\venv"
VIRTUAL_ENV="/c/Users/blah/Documents/blah/Stock-down/Dev/st_api/venv"
export VIRTUAL_ENV
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/Scripts:$PATH"
export PATH
echo $PATH
/c/Users/blah/Documents/blah/Stock-down/Dev/st_api/venv/Scripts:/c/Users/blah/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/blah/bin:/c/Program Files/Go/bin:/c/Python39/Scripts:
有关 VIRTUAL_ENV var 的更多信息,请参阅此文档 -- python venv 文档
It feels like jumping through a bunch of hoops I know, but this way I can open a new Git Bash Terminal, have the activate script run correctly on Terminal Open, debug, and operate normally without having to float between Git Bash AND WSL Ubuntu AND Powershell等
根据本文的建议,我的环境开始自动激活
当您创建一个新的虚拟环境时,将显示一个提示,允许您将其 select 用于工作空间。 这会将 Python 解释器的路径从新的虚拟环境添加到您的工作区设置。 然后通过 Python 扩展安装包和运行代码时将使用该环境。 有关在项目中使用虚拟环境的示例,请参阅 Python、Django 和 Flash 教程。
我的解决方案是手动创建 /.vscode/settings.json
这是树;
├───django
│ ├───.vscode
│ │ ├───settings.json
I created /.vscode/settings.json then added this code in settings.json (I am using windows so I used double backslash for path location otherwise it gives unicode error, and don't copy paste this, find your own.virtualenvs)
{
"python.defaultInterpreterPath": "C:\\Users\\Talha\\.virtualenvs\\django-okd21pq9\\Scripts\\python.exe"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.