VSCode配置python环境以及中⽂问题
⽬录
1 配置环境
settings.json·是设置语⾔环境,launch.json是设置执⾏环境来执⾏代码,tasks.json是⽤来设置指令编译代码
1.1 settings.json
配置python解释器,在vscode界⾯内按下ctrl+shift+p键,输⼊python,选择python解释器(python属于解释语⾔,不需要编译成⼆进制中间语⾔,它是依赖解释器,解释⼀⾏运⾏⼀⾏)
然后选择python解释器路径,点击确定后,就会在当前选中的⽂件夹内⽣成⼀个.vscode⽂件夹且内有⼀个settings.json⽂件
这只是⽣成⼀个settings.json模板,可以按照⾃⼰需求添加,如下
{
"python.pythonPath": "D:\\Anaconda3\\envs\\python3",
"lorTheme": "Monokai",
"Level": 0,
"firmDelete": false,
"editor.accessibilitySupport": "off",
"editor.formatOnPaste": true,
"editor.formatOnSave": false,
"editor.formatOnType": false,
"editor.showFoldingControls": "mouseover",
// 控制编辑器是否显⽰缩进参考线。
"derIndentGuides": true,
"editor.multiCursorModifier": "ctrlCmd",
# 将原来的 替换为  因为更喜欢的操作
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\",
"dererType": "dom",
"workbench.activityBar.visible": true,
"python.jediEnabled": false
}
1.2 launch.json
在vscode页⾯点击运⾏和调试窗⼝,点击创建launch.json
就会⾃动创建⼀个launch.json⽂件
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: 当前⽂件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
此时也是在.vscode⽂件夹下⽣成的
或者再次模板上添加
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: go.microsoft/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"program": "${file}",
"cwd": "${workspaceRoot}",
"env": {},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
]
}
1.3 task.json(可能不需要配置)
在vscode⾯板内选中终端—>配置任务...->选择使⽤模板创建tasks.json⽂件
选择Other
tasks.json⽂件⽣成完毕
2 print打印中⽂乱码
由于使⽤的python 3+版本,默认编译是utf8,在dos窗⼝⾥⾯可以打印中⽂,但是在vscode中就不能打印2.1 ⽅法⼀
以windows系统为例,添加系统变量,此法可以⼀劳永逸
PYTHONIOENCODING=UTF8
win10不⽤配置会⾃带有此命令,如下:
但是win10可能报错:UnicodeDecodeError:'utf8'
win10中python遇到
settings设置中文在哪里UnicodeDecodeError:'utf8' codec can't decode byte 0xd1 in in position 0:invalid的报错的解决办法。
解决办法:
修改win10系统字符集
控制⾯板>时钟和区域>区域>管理>更该系统区域设置>勾选Beta版: 使⽤ Unicode UTF-8 提供全球语⾔⽀持
但是,此法可能会让其他软件显⽰乱码,如果win10 vscode能输出中⽂就不要⽤此法了
2.2 ⽅法⼆
修改task.json配置
调出vscode控制命令⾯板,选择配置任务,点击进去
在task.json中添加如下信息:
"options": {
"env":{
"PYTHONIOENCODING": "UTF-8"
}
}
在每个需要中⽂的python⽂件增加信息
import io
import sys
#改变标准输出的默认编码
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')