正如标题所示,我正在使用VSCode调试器启动django应用程序。我使用python3 -m virtualenv venv创建了虚拟env,它显示在下面我想要的地方。我已经检查了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在启动source venv/bin/activate调试器时,需要将launch.json命令放在下面的launch.json文件中才能运行?
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/helloworld/manage.py",
"args": [
"runserver",
],
"django": true
},
]
}发布于 2021-04-06 15:29:10
您不需要将activate添加到launch.json。您有三个选项(我更喜欢第一个选项):
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运行之前定义的。
点击它,工作空间的列表就会从顶部掉下来。
选择要修改Python的工作区,然后将看到Python解释器的列表。您想要的可能没有显示,所以单击“我找不到我要选择的解释器.”,然后单击“查找.”。
导航到您的虚拟环境并单击python.。
.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“}
发布于 2022-07-17 17:23:29
我给了@mike一个+1,因为它指向了正确的方向,但是如果您是venv的windows用户,这正是我所做的。打开launch.json并添加以下内容:
"python":"C:/Users/[pathto]/[projectfolder]/.venv/Scripts/python.exe"完整文件:
{
"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
}
]}https://stackoverflow.com/questions/66971452
复制相似问题