首先,我在 Windows 中使用 Bash。 我正在尝试在 VSCode 中编写 virtualenv 的正确路径,但我一定做错了什么。
"python.pythonPath": "C\\Users\\Angel\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\LocalState\\rootfs\\home\\aquesada\\.local\\share\\virtualenvs\\videoclub_django_new-coDPKRdg\\bin\\python",
"python.linting.pylintPath": "C\\Users\\Angel\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\LocalState\\rootfs\\home\\aquesada\\.local\\share\\virtualenvs\\videoclub_django_new-coDPKRdg\\bin\\pylint",
"python.venvPath": "C:\\Users\\Angel\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\LocalState\\rootfs\\home\\aquesada\\.local\\share\\virtualenvs"
你的路径看起来大部分是正确的,问题可能出在 Windows 中 Bash 和 Windows 路径之间的转换上。
尝试以下方法解决问题:
-
使用正斜杠 (/)
: 即使在 Windows 上,Bash 也使用正斜杠 (/) 作为路径分隔符。确保在所有路径中都使用正斜杠,包括
venvPath
。
json
"python.venvPath": "/home/aquesada/.local/share/virtualenvs"
-
使用
wslpath
进行转换 : 如果你确实需要使用 Windows 路径,可以使用wslpath
命令进行转换。 在你的.vscode/settings.json
中使用如下方式:
json
"python.venvPath": "${workspaceFolder}/.venv",
"python.terminal.activateEnvironment": true,
"python.terminal.activateEnvInCurrentTerminal": true,
"terminal.integrated.profiles.windows": {
"bash": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": [
"-e",
"bash",
"-c",
"source $HOME/.bashrc; cd '${workspaceFolder}'; bash"
]
}
}
这将告诉 VS Code 使用 WSL Bash 终端,并在激活环境后自动转换路径。
-
简化路径
: 你的
virtualenv
路径看起来很长,可以考虑将其移动到一个更短的路径下,例如你的项目文件夹中。这样可以简化配置,并减少出错的可能性。
mkdir -p ~/projects
cd ~/projects
python3 -m venv .venv
source .venv/bin/activate
然后在 VS Code 设置中:
json
"python.venvPath": "${workspaceFolder}/.venv"
其他建议:
- 确保你已经在 VS Code 中安装了 Python 插件。
- 重新启动 VS Code,确保更改生效。
-
在 VS Code 的终端中运行
which python
和which pylint
命令,验证虚拟环境是否被正确激活,并且路径是否正确。
希望这些方法可以帮助你解决问题!
标签:python,bash,virtualenv,visual-studio-code From: 54010863