首頁 > 軟體

VSCode設定python環境及中文問題解決方法

2022-02-28 19:02:07

1 設定環境

setting.json·是設定語言環境,launch.json是設定執行環境來執行程式碼,tasks.json是用來設定指令編譯程式碼

1.1 setting.json

設定python直譯器,在vscode介面內按下ctrl+shift+p鍵,輸入python,選擇python直譯器(python屬於解釋語言,不需要編譯成二進位制中間語言,它是依賴直譯器,解釋一行執行一行)

然後選擇python直譯器路徑,點選確定後,就會在當前選中的資料夾內生成一個.vscode資料夾且內有一個setting.json檔案

這只是生成一個setting.json模板,可以按照自己需求新增,如下

{
    "python.pythonPath": "D:\Anaconda3\envs\python3",
    "workbench.colorTheme": "Monokai",
    "window.zoomLevel": 0,
    "explorer.confirmDelete": false,
    "editor.accessibilitySupport": "off",
    "editor.formatOnPaste": true,
    "editor.formatOnSave": false,
    "editor.formatOnType": false,
    "editor.showFoldingControls": "mouseover",
    // 控制編輯器是否顯示縮排參考線。
    "editor.renderIndentGuides": true,
    "editor.multiCursorModifier": "ctrlCmd",
    # 將原來的cmd.exe 替換為bash.exe  因為更喜歡bash.exe的操作
    "terminal.integrated.shell.windows": "C:\Program Files\Git\bin\bash.exe",
    "terminal.integrated.rendererType": "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: https://go.microsoft.com/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遇到

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')

到此這篇關於VSCode設定python環境及中文問題的文章就介紹到這了,更多相關VSCode設定python環境內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com