如何将虚拟环境添加到 VSCode Launch.json
Posted
技术标签:
【中文标题】如何将虚拟环境添加到 VSCode Launch.json【英文标题】:How to add virtual environment to VSCode Launch.json 【发布时间】:2021-07-02 09:40:13 【问题描述】:正如标题所示,我正在使用 VSCode 调试器来启动 django 应用程序。我使用 python3 -m virtualenv venv
创建了虚拟环境,它显示在下面我想要的地方。我已经检查了 VSCode django 和调试教程,但没有比我刚开始时更接近答案。
vscode ➜ /workspaces/docker-test-proj $ ls -l
total 0
drwxr-xr-x 8 vscode vscode 256 Apr 6 14:30 helloworld
vscode ➜ /workspaces/docker-test-proj/helloworld $ ls -l
total 136
drwxr-xr-x 11 vscode vscode 352 Apr 6 13:24 app
-rw-r--r-- 1 vscode vscode 131072 Apr 6 13:42 db.sqlite3
drwxr-xr-x 8 vscode vscode 256 Apr 6 13:21 helloworld
-rwxr-xr-x 1 vscode vscode 666 Apr 6 13:19 manage.py
-rw-r--r-- 1 vscode vscode 175 Apr 6 14:30 requirements.txt
drwxr-xr-x 6 vscode vscode 192 Apr 6 13:20 venv
在启动 VSCode 调试器时,我需要将 source venv/bin/activate
命令放在下面的 launch.json 文件中的哪个位置才能运行它?
"version": "0.2.0",
"configurations": [
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "$workspaceFolder/helloworld/manage.py",
"args": [
"runserver",
],
"django": true
,
]
【问题讨论】:
【参考方案1】:您无需将activate
添加到launch.json
。你有 3 个选项(我更喜欢第一个选项):
提供虚拟环境中python
的完整路径。这是我的启动配置之一。 python
入口指向虚拟环境中的python
可执行映像。
"justMyCode": false,
"name": "Ancient Warmth / Django-Oscar",
"type": "python",
"request": "launch",
"program": "$workspaceFolder/manage.py",
"python": "$env:oscar/bin/python",
"args": [
"runserver",
"--noreload",
"0.0.0.0:8001",
],
"django": true
,
请注意,上面提到了一个名为oscar
的环境变量,它指向虚拟环境。我在.bashrc
中定义oscar
是这样的:
export oscar=/var/work/django/oscar
环境变量在哪里定义无关紧要,只要在VSCode运行之前就定义好了。
在 VSCode 窗口的底部,靠近左侧,您会找到正在使用的 Python 环境的名称。
一个。单击它,工作区列表会从顶部下拉。
b.选择要为其修改 Python 的工作区,然后您将看到 Python 解释器列表。你想要的可能没有显示,所以点击“我找不到我要选择的解释器...”,然后点击“查找...”。
c。导航到您的虚拟环境并单击python
。
此选项是产生与选项 #2 相同的更改的手动方式。编辑项目目录中名为.vscode/settings.json
的文件,并将python.pythonPath
设置为指向虚拟环境中的python
程序。这是我完整的.vscode/settings.json
文件:
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.pythonPath": "/var/work/django/oscar/bin/python"
【讨论】:
当python解释器在左下角没有(venv)
我认为是系统python时,第三个答案不起作用。
这不是我的经验,只需要python
解释器出现在指定位置并运行。以上是关于如何将虚拟环境添加到 VSCode Launch.json的主要内容,如果未能解决你的问题,请参考以下文章
VSCode仅为许多项目之一创建Launch.json和Tasks.json文件
如何在 VSCode 的 launch.json 中使用自定义环境变量
将vscode打造无敌的IDE(14) tasks.json和launch.json配置详解,随心所欲添加自动化任务