首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向VSCode Launch.json添加虚拟环境

如何向VSCode Launch.json添加虚拟环境
EN

Stack Overflow用户
提问于 2021-04-06 15:15:27
回答 2查看 8.3K关注 0票数 3

正如标题所示,我正在使用VSCode调试器启动django应用程序。我使用python3 -m virtualenv venv创建了虚拟env,它显示在下面我想要的地方。我已经检查了VSCode django和调试教程,但没有比我开始时更接近于一个答案。

代码语言:javascript
复制
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

在启动source venv/bin/activate调试器时,需要将launch.json命令放在下面的launch.json文件中才能运行?

代码语言:javascript
复制
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/helloworld/manage.py",
            "args": [
                "runserver",
            ],
            "django": true
        },
    ]
}
EN

回答 2

Stack Overflow用户

发布于 2021-04-06 15:29:10

您不需要将activate添加到launch.json。您有三个选项(我更喜欢第一个选项):

  1. 为虚拟环境中的python提供了完整的路径。这是我的发射配置之一。python条目指向虚拟环境中的python可执行映像。

{ "justMyCode":false,"name":“古温情/ Django-Oscar”、"type":"python“、"request":”workspaceFolder}/manage.py“、"python":"${env:oscar}/bin/python”、"args":"runserver“、”-noreload“,"0.0.0.0:8001","django":true },

请注意,上面提到了一个名为oscar的环境变量,它指向虚拟环境。我在oscar中用.bashrc定义如下:

出口oscar=/var/work/django/oscar

在哪里定义环境变量并不重要,只要它是在VSCode运行之前定义的。

  1. 位于VSCode窗口的底部,靠近左侧,您将看到正在使用的VSCode环境的名称。

点击它,工作空间的列表就会从顶部掉下来。

选择要修改Python的工作区,然后将看到Python解释器的列表。您想要的可能没有显示,所以单击“我找不到我要选择的解释器.”,然后单击“查找.”。

导航到您的虚拟环境并单击python.。

  1. 这个选项是一种手动的方法,可以产生与选项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“}

票数 11
EN

Stack Overflow用户

发布于 2022-07-17 17:23:29

我给了@mike一个+1,因为它指向了正确的方向,但是如果您是venv的windows用户,这正是我所做的。打开launch.json并添加以下内容:

代码语言:javascript
复制
 "python":"C:/Users/[pathto]/[projectfolder]/.venv/Scripts/python.exe"

完整文件:

代码语言:javascript
复制
{
"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "python": "C:/Users/cullen/pathto/projectfolder/.venv/Scripts/python.exe",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "justMyCode": true
    }
]}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66971452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档