之前尝试过用vscode开发python web。但是在设置virtualenv时出现问题,网上查找原因是windows系统python在虚拟环境下不能逐行执行,不过好像现在解决了?!
创建项目文件夹,打开文件夹在空白处shift + 右键 打开命令行窗口
在项目文件夹中使用virtualenv .env 创建.env文件夹
创建 requirements.txt 文件,文件中添加以下内容,pylint为python的静态语法检测器,pylint-django 是适用于django项目的语法检查其插件,autopep8 是代码格式化工具
django
pylint
pylint-django
autopep8
执行 .env\Scripts\activate.bat 激活虚拟环境
执行 pip install -r requirements.txt 安装相关模块
执行 django-admin startproject <project> . 在当前目录下创建django项目文件夹
在<project>中执行 python manage.py startapp <app> 新建django app
在当前路径下执行 code . 打开vscode
在 vscode 中按下 Ctrl + Shift + P,输入 select,选择 Python: Select Workspace Interpreter,在出现的选项中将Python解析器指向env文件夹中的python
- 在 vscode 中按下 Ctrl + Shift + P,输入 workspace,选择 Preferences: Open Workspace Settings,配置完成后的JSON文件如下
{
"python.pythonPath": "e:web-server/.env/scripts/python.exe",
"python.linting.pylintPath": "pylint",
"python.linting.pylintArgs": [
"--load-plugins", "pylint_django"
],
"python.formatting.autopep8Path": "autopep8"
}
- 打开调试,运行,然后打开lanuch.json,修改django的配置文件如下
{
"name": "Django",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config:python.pythonPath}",
"program": "${workspaceRoot}/demo/manage.py",
"cwd": "${workspaceRoot}",
"args": [
"runserver",
"--noreload"
],
"env": {},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput",
"DjangoDebugging"
]
},
这样即使退出虚拟环境,直接运行vscode也可以debug了。