簡體   English   中英

ModuleNotFoundError:在 vscode 中沒有使用 venv 的模塊名為“請求”

[英]ModuleNotFoundError: No module named 'requests' using venv in vscode

我有 1 個文件,我得到了第 1 行import requests ,僅此而已,我收到以下error ModuleNotFoundError: No module named 'requests'

  1. 使用 Visual Studio Code,今天安裝了獨立的 Python x64 3.7.4
  2. Python 擴展安裝在 VSCODE
  3. venv 在 VSCODE 中創建為 VSCODE 終端內的工作區的子文件夾,並在創建時被 VSCODE 識別,我在 VSCODE 中使用 venv 解釋器,如底部欄所示
  4. 在 VSCODE 內的終端內運行pip install requests - 成功完成
  5. 運行pip freeze以確認請求== 2.22.0 已注冊
  6. 已驗證 pylint 已安裝在 venv

我無法弄清楚為什么 VSCODE python 解釋器無法識別請求已安裝

您是否檢查過您的用戶和工作區設置?

確保您的工作區設置(而不是您的用戶設置)指向您項目的venv路徑。

我遇到了類似的問題,例如您的問題,但能夠通過更改工作區設置 python 路徑以指向我的venv路徑來解決它,如下所示。

{
    "python.pythonPath": "${workspaceFolder}/code/venv/bin/python"
}

嘗試在 vscode 終端中獲取 python 版本

python --version

並通過單擊左下角檢查 python 版本 vscode IDE 使用。 在此處輸入圖像描述

確保這兩個版本是一致的。 如果沒有,select 的版本 IDE 與您的終端版本相同。

感謝您的回復。 幾個小時后我發現了自己的問題。

首先,我在某個地方發現當我在 VSCODE 中運行終端時,它正在針對全局解釋器運行。 然后我嘗試./pip freeze ,它按預期工作。 這告訴我終端連接到錯誤的解釋器。

出於某種原因,當我“運行”它在終端中執行的文件但它沒有“激活”venv 時。 我已經關閉並重新打開了 VSCODE 很多次,但是由於某種原因,當我關閉終端 window 並使用 CTRL+SHIFT+' 重新打開時,當它嘗試使用 PS1 腳本激活我的 venv 時,我收到了一個關於簽名腳本的錯誤。 我在普通的 PowerShell window 中運行了Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ,然后重新打開了終端 window,它在我知道終端代碼的行的開頭成功激活了我的 venv 名稱。 然后我運行“pip freeze”以確認 venv 內部安裝了哪些模塊,然后在正常 powershell window 中再次運行,它是不同的。

某處有文檔說要運行我后來發現Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ,但很高興知道這是一個要求。

本地是否存在多個 python 環境? 也許嘗試:

pip3.7 install requests

在 windows 10 下,兩種方法對我有用:

  1. 在終端中運行: ctrl + F5

  2. 在設置 json 中添加以下內容:“code-runner.executorMap”:{

    "python": "$pythonPath -u $fullFileName"

    }

暫無
暫無

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

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