簡體   English   中英

如何在 Visual Studio Code 中更改 Python 版本?

[英]How can I change the Python version in Visual Studio Code?

這些是我的設置:

  1. 用戶設置

    { "atomKeymap.promptV3Features": true, "editor.multiCursorModifier": "ctrlCmd", "editor.formatOnPaste": true, "python.pythonPath": "python3", "command": "python3", }
  2. 工作區設置

    { "python.pythonPath": "${workspaceFolder}/env/bin/python3.6", "git.ignoreLimitWarning": true }
  3. 任務.json

     { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "0.1.0", "command": "python3", "isShellCommand": true, "args": ["${file}"], "showOutput": "always" }

如果我使用調試控制台,版本和路徑是正確的: 調試

但無論我做什么,輸出總是默認為“python2.7”。 輸出

我怎樣才能解決這個問題?

在視圖菜單下選擇“顯示命令托盤”。 然后您可以從命令面板中選擇的命令之一是“Python:選擇解釋器”。 選擇此選項將允許您選擇要使用的 python 版本。

升級版 首先,閱讀底部的更新#1部分

(首先嘗試更新#1)查看您的屏幕截圖,我看到您正在使用 Code Runner 擴展。 我想這就是你啟動程序的方式。 我不知道它在內部是如何工作的,但是將此行添加到 Code-Runner 擴展 setting.json 文件中修復了它:

"code-runner.executorMap.python": {...
"python": "python3 -u",
...}

在 Code-Runner GitHub 存儲庫中找到它: https ://github.com/formulahendry/vscode-code-runner/issues/366

如果你輸入“python --help”,你會看到“-u”標志代表“無緩沖的二進制標准輸出和標准錯誤......”——不知道為什么它在這里很重要。

更新 #1 這變得不那么方便了——我開始使用 python 的虛擬環境,上面的解決方案無法啟動這些環境,因為 python3(符號鏈接)總是鏈接到同一個 python 環境。

這里的解決方案是使用 Code-Runner 支持的自定義參數,因此您應該將其 settings.json 中的“python”行更改為:

...
"python": "$pythonPath $fullFileName",
...

Tot 的答案是在 Windows 10 上對我有用的,並進行了一些修改。

  1. 文件 -> 首選項 -> 設置
  2. 在搜索欄中輸入“python.pythonPath”。
  3. 將其更改為您通常從命令行運行 python 的內容。 如果您設置了 Path 環境變量,那就是python 如果不是,它可能是可執行文件的完整路徑。

此解決方案適用於 Mac 和 Linux:

要將 Python 版本從 2.7 更改為 3,請執行以下操作:

  1. 在 Vscode 中單擊文件 > 首選項 > 設置。

  2. 在右側單擊 ...(三個點)並選擇(打開 settings.json)

  3. 在搜索欄中輸入 code-runner.executorMap。

  4. 您只能更改右側的設置。

  5. 在最后一個設置后輸入一個逗號,然后輸入“code-runner.executorMap”並回車,這將復制默認文件中的所有設置。

  6. 查找“python”並將其旁邊的命令更改為“python3”。

  7. 保存更改,您應該一切順利。

VS Code 的終端使用與您選擇的不同的 Python 解釋器

默認情況下,它不知道您的解釋器,並將使用默認的.bashrc或操作系統中的等效項進行初始化。

從 2021 年 2 月的一個問題中找到了兩個相關設置。 檢查第二個選項Python > Terminal: Activate Environment啟用虛擬環境的自動激活:

在 VS Code 中激活 Python 環境

settings.json ,它被稱為"python.terminal.activateEnvironment": true

更新(2021 年 8 月 8 日):今天當我在 Windows 上從 VS Code 打開終端時,它會自動插入一行代碼& C:/Users/[UserName]/[venv]/Scripts/Activate.ps1以激活相應的環境與選定的python解釋器相關聯! 看來上述設置現在是默認行為。 雖然2021 年 7 月的發行說明(版本 1.59)中對終端行為進行了更改,但我沒有看到明確提及虛擬環境激活。

新行為記錄在此處的“ 環境和終端窗口”中。


"python.pythonPath" 已被棄用

因此,大多數以前的答案都已過時。 改用"python.defaultInterpreterPath"

2021.6.0(2021 年 6 月 16 日)
5. 在pythonDeprecatePythonPath 實驗中添加了工作區級別的python.defaultInterpreterPath 設置。 (#16485)
8、在pythonDeprecatePythonPath實驗中顯示python.pythonPath棄用提示。 (#16485)

2020.7.0(2020 年 7 月 16 日)
9. 在 Deprecate PythonPath 實驗中,提示用戶我們已從他們的工作區設置中刪除了 pythonPath。 (#12533)

2020.5.0(2020 年 5 月 12 日)
6. 如果在 DeprecatePythonPath 實驗中,將 python.pythonPath 設置的現有值一次性傳輸到新的解釋器存儲。 (#11052)
8. 在棄用 PythonPath 實驗中,增加了提示用戶從其工作區設置中刪除 python.pythonPath 鍵的提示。 (#11108)
12. 將在launch.json 中用於引用設置中設置的解釋器路徑的字符串${config:python.pythonPath} 重命名為${config:python.interpreterPath}。 (#11446)

2020.4.0(2020 年 4 月 20 日)
13.新增用戶設置python.defaultInterpreterPath,用於設置Deprecate PythonPath實驗時的默認解釋器路徑。 (#11021)

如果您希望為所有工作區設置默認 python 解釋器,請使用Ctrl+Shift+P打開設置, Preferences: Open User Settings並搜索Python: Default Interpreter Path 否則,如果您只想為當前工作區設置它,請改用Preferences: Open Workspace Settings

默認 python 解釋器的 VS 代碼設置

在您的情況下,您希望將其設置為${workspaceFolder}/env/bin/python3.6 如果您直接編輯settings.json而不是使用 GUI:

{  
  "python.defaultInterpreterPath": "${workspaceFolder}/env/bin/python3.6"
}  

詳細說明可以在“手動指定解釋器”文檔中找到,包括使用環境變量作為解釋器的路徑。

在 VSCode 中有兩條 python 路徑:

  1. 當您使用右上角的綠色播放按鈕的 Python 代碼時使用的路徑。 這個路徑可以在CTRL+SHIFT+P下設置 Python:選擇Interpreter。

執行Python代碼

  1. 在終端中鍵入“python”時使用的路徑,位於 Windows 10 的“環境變量”中(Linux 和 Mac 下的類似位置)。 在 Windows 10 中,您可以選擇擁有多個 Python 版本,通常位於 C:\Users\YourName\AppData\Local\Programs\Python\Python## 下。 只需確保相應地更改環境變量 C:\Users\YourName\AppData\Local\Programs\Python\Python## 和 C:\Users\YourName\AppData\Local\Programs\Python\Python##\Scripts 即可。 這也會影響您使用哪個 pip,即屬於 Python 3.8 的 pip 或屬於 Python 3.9 的 pip。 我認為 VSCode 中的終端通常與您的默認終端有關。 因此,在 Windows 10 中,當您在 CMD 行中鍵入“python”時,它應該與 VSCode 終端的版本相同。

出於理智的目的,您應該確保“Python:選擇解釋器”和系統環境變量都指向相同版本的 Python。

Windows 10 中的額外好處。如果您沒有設置環境變量,並且在 VSCode 終端中鍵入“python”,它將指向 C:\Users\YourName\AppData\Local\Microsoft\WindowsApps\python.exe,它只是在 Windows AppStore 中打開 python 鏈接🙄。

這里的幾個答案解釋了好的方法,但以下是我的前 2 條建議。

  1. 底部屏幕導航(易於訪問)

我發現這是最快的方法; 但是,它並不總是可供初次使用的用戶使用。 如果您已經在 VS Code 中使用 Python,這通常是訪問Python 的最簡單方法:選擇解釋器菜單。 在屏幕的左下方,查找“Python XXX ”。 這是當前為您的項目檢測/配置的 Python 版本,單擊它會將您帶到解釋器菜單以更改您正在使用的 Python 版本。 在撰寫本文時,我使用的是 Python 3.9.1,如下面的片段所示:

Visual Studio 代碼片段

  1. 命令面板

正如@jmh在他的回答中指出的那樣,您還可以使用“查看”選項卡導航到Command Palette 在 Command Palette 中,搜索Python:選擇 Interpreter以顯示與上述相同的菜單。

快樂編碼!

真的遲到的答案,如果你發現很難在 VsCode 中設置 python 版本,

如果解釋器沒有顯示 envname/bin/python 或您想要的任何所需路徑,請轉到

  1. VSCODE 主頁-->文件-->首選項-->設置

  2. 選擇右上角的 ...。 您會看到 USER SETTINGS、WORKSPACE SETTINGS、YOURAPP_NAME_SETTINGS。 點擊 your_app_name。

  3. “python.pythonPath”:“/home/Jhon/AllWorksUbuntu/Projects/VX-350/envname/bin/python”

在上面播放以設置正確的路徑。 你可以走了!!!

為我工作(linux用戶);

假設您的系統中安裝了其他 python 版本:

  1. 殺死舊終端
  2. 打開一個新的終端
  3. 在新終端而不是寫“python”來選擇解釋器寫“python3”或“python3.8”

看起來只放'python'總是會帶來python 2。

只是一個前言:VS 代碼運行良好(使用 Python 3.x),並且似乎出乎意料地開始使用 Python 2.7。 input() 函數不會將輸入轉換為字符串,這時我才意識到發生了什么。 在終端窗口中鍵入 Python 顯示 2.7 正在運行。

為了我....

即使“python.pythonPath”指向一個看似正確的位置(C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64),我的環境變量之一指向 C:\Users\Mike.windows-構建工具\python27。

我刪除了環境變量並從 Microsoft Store 重新安裝了 Python 3.8,它立即安裝了。 我從 VS Code(它正在運行)收到一條消息,說安裝了 3.8。 我點擊了終端/新終端,輸入了 Python,它顯示了 3.8 版。 輸入“Python xxx.py”,代碼開始正常工作。

在此處輸入圖像描述

就我而言,我使用

python --version

即使我的解釋器路徑是 3.x,它也顯示了 python 2.x。 所以通過控制面板從我的電腦上卸載了python 2.x。 然后它對我來說很好。

還可能錯過的一件事是您在終端中使用的 shell 配置文件,您可以在其中看到想要的 python 版本與 VS Code 中的配置文件。 請查看給我錯誤的python版本的選定終端配置文件

  1. 按住 cmd + p 並寫入>Terminal: Select default profile
  2. 在全局級別的終端中選擇 bash 或用於在終端中安裝 python3 版本的任何內容。
  3. 關閉終端和 VS Code,然后再次打開,這一次 VS Code 會選擇正確的版本

不,你會看到正確的 python 版本

安裝 Anaconda,然后選擇它作為解釋器是一種將 Python 設置為最新版本並獲得使 Jupyter Notebook 工作的擴展的簡單方法。

在 Vscode 中,您可以轉到首選項 > 設置,然后在右側菜單中單擊第一個圖標,即 JSON。 查找“python.pythonPath”和“python.defaultInterpreterPath”並更改路徑。 要查找 python3 路徑,請打開終端並執行python3 dummyname 實際上你會遇到一個錯誤,但關鍵是它會告訴你路徑!

在此處輸入圖像描述

從左下角,單擊 python,然后 vscode 將導航到您系統中安裝的所有 python 版本,並為您選擇正確的版本。

Windows:使用py -3.6 --version或創建虛擬環境py -3.6 -m venv venv36

看演示

更新@Isabella answer ,使用當前的 VSCode 1.65.1 和當前的 python 啟動器,您可以使用py -version ,例如py -3.8

因此,您可以創建一個.vscode文件夾,其中包含一個名為settings.json的文件名,其中包含

{
  "python.defaultInterpreterPath": "py -3.8",
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM