簡體   English   中英

Select Python 解釋器在 VScode 中不起作用

[英]Select Python interpreter does not work in VScode

我已經在我的 Windows PC 上安裝了第一個 Python 解釋器,python.exe 的路徑是

C:\Users\myname\AppData\Local\Programs\Python\Python38-32\python.exe

它最初運行良好(運行、調試等...)。
最近嘗試在自己的電腦上安裝miniconda來搭建不同的Python環境,其中python.exe的路徑為

D:\miniconda\python.exe

我按照VScode office上的教程到select我創建的conda環境。 狀態欄似乎是正確的:

圖片

但是,如果我運行以下 python 代碼:

import sys
sys.executable

output 是:

C:\Users\myname\AppData\Local\Programs\Python\Python38-32\python.exe

這似乎不正確。

我已將 Python 的兩個路徑添加到我的 Windows 設置中的Path環境變量中。 如何解決這個問題?

我剛剛重新加載了 python 擴展,當你將 go 重新加載到 vscode 和“python 擴展”時,你會看到它,並且下面的“需要重新加載”選項將在那里,只需單擊然后檢查“視圖”中的“python 解釋器”再次它將解決您面臨的當前問題。

您可以配置 VSCode 工作區設置。 您是否需要在源項目中創建一個名為.vscode/的文件夾,其中包含settings.json文件。 文件內容如下:

{
    "python.pythonPath": "path-to-your-venv/bin/python",
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "python.linting.lintOnSave": true,
    "python.linting.flake8Enabled": true,
    "python.linting.pylintEnabled": true,
    "python.linting.pylintArgs": ["--load-plugins", "pylint_django"],
    "python.linting.enabled": true,
    "editor.rulers": [80],
    "editor.tabSize": 4,
    "prettier.singleQuote": true,
    "editor.defaultFormatter": "ms-python.python",
    "python.formatting.provider": "autopep8"
}
  

激活venv后,是否需要使用pip安裝 libs autopep8flake8

pip install autopep8
pip install flake8

然后,重新啟動 VSCode。

我希望能幫助你。

When VSCode did not let me select my Python interpreter, I added a defaultInterpreterPath to settings.json which I could select then.

  1. 本文所述,打開工作區的settings.json
  2. 然后將"python.defaultInterpreterPath": "/path/to/your/interpreter/python.exe"添加到settings.json (如VSCode 文檔中所述)。
  3. 然后你可以select 這個默認解釋器

示例settings.json

{
    ... some settings here ... ,
    "python.defaultInterpreterPath": "c:/python39/python.exe"
}

遇到了同樣的問題。 結果我不能在工作區級別使用 select 解釋器,所以我將 select 用於工作文件夾並且它可以工作。

  1. 按 F1 打開菜單。 菜單
  2. Select Python:Select 解釋器。 如果您沒有看到它,請嘗試輸入它。
  3. Select 第一個選項,也就是你的工作文件夾。 選拔一覽
  4. 您將找到虛擬環境列表並安裝 python。 Select 你想要的那個。 python環境列表

我也有同樣的情況,這是因為site-packages/sitecustomize.py (在任何其他 python 代碼之前運行的腳本)正在輸出一些不應該的東西(完全是我的錯)。 只需刪除文件即可解決問題。

要調查類似的問題,我建議查看 vscode output,選項卡“Python”,也許 output 會給你一個提示。 對我來說,這就像

Failed to get interpreter information for "..." returned bad JSON

我有同樣的問題。 選擇解釋器后,所選環境未顯示在狀態欄中。 它仍然在說“選擇口譯員”。 簡單重啟 VScode 即可。

我有一個類似的問題,因為我在嘗試使用實時服務器(一個 vs 代碼擴展)之前編輯了settings.json但是我的解決方案卸載 python 然后從 vs 代碼的擴展部分重新安裝它

至少在 Mac 上,這樣做的原因是虛擬環境中的 python/python3/python3.9 是指向系統解釋器的符號鏈接,例如/opt/homebrew/bin/python3並且 VSCode 遵循符號鏈接。

因此,相對導入和虛擬環境中所有包的路徑現在是/opt/homebrew/bin而不是./venv/bin ,因此 VSCode 無法解析來自你的 venv 的任何導入,除非它們恰好也是安裝在/opt/homebrew/bin中。 這意味着你失去了“跳轉到定義”和類似的功能,“運行這段代碼”不起作用,linters 不能提供任何類型的與導入相關的反饋,等等。

一個可行的解決方案是將 python 二進制文件復制到 venv 中,而不是使用符號鏈接。 您可以在創建 venv 后執行此操作。

python -m venv venv
rm venv/bin/python venv/bin/python3 venv/bin/python3.9
cp /opt/homebrew/bin/python3.9 venv/bin/
ln -s venv/bin/python3.9 venv/bin/python
ln -s venv/bin/python3.9 venv/bin/python3
source venv/bin/activate
pip install -r your_requirements_file.txt

然后將VSCode中的python解釋器設置為venv/bin/python3.9就可以了。

這已被報告,但修復沒有獲得足夠的選票來實施。

https://github.com/microsoft/vscode-python/issues/13603

當然,根據需要更改上面代碼中的路徑和python版本。

這發生在我的 windows PC 上。 盡管我已經將 conda 安裝為虛擬環境管理器並創建了一堆虛擬環境,但 VSCode 無法識別任何 python 解釋器。

簡短回答:安裝擴展: Python extension for Visual Studio Code

  • Go 到 VSCode 上的擴展
  • 為 Visual Studio 代碼安裝 python 擴展。
  • 按 CTRL + P select 解釋器

現在它應該列出所有配置的環境。

終端中python的值與 VS 代碼中的 select 完全斷開,因為終端控制PATH上的內容。 你有兩個選擇:

  1. 使用虛擬環境,因此 Python 擴展可以激活您的終端,使python指向您想要的
  2. 使用綠色的 Play 按鈕運行您的代碼
  3. 使用 VS Code 的運行/調試功能

暫無
暫無

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

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