Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Python

Pythonの「Import “requests” could not be resolved from source Pylance」エラーの原因と対処について

投稿日:2022年4月6日 更新日:

 

<目次>

(1) Pythonの「Import “requests” could not be resolved from source Pylance」エラーの原因と対処について
 (1-1) エラーメッセージ・発生状況
 (1-2) 原因
 (1-3) 対策

(1) Pythonの「Import “requests” could not be resolved from source Pylance」エラーの原因と対処について

(1-1) エラーメッセージ・発生状況

pip(パッケージ管理ツール)で正常にライブラリをインストール出来たにも関わらず、それを実際に利用しようとした際に下記のエラーが出ました。
 
(エラーメッセージ)
Import "requests" could not be resolved from source Pylance
(図111①)requestsライブラリを正常にインストールされた
(図111②)実際にプログラムで使用しようとすると、波線でエラーが出た

(1-2) 原因

現時点で、正確な原因は特定できておりません(分かる方居たら教えてください)
 
推定の域を出ませんが、Visual Studio Codeにおいては複数のインタープリター(Pythonプログラムを解釈して実行するプログラム)を選択する事ができます。例えば、下図の例ですと3.10.X、3.8.X、3.7.Xの3つのバージョンが選択できます。
 
(図112)
今回の例で言うと、pip install requestsのインストールはPythonの3.10に対して実行されており、3.10のインタープリターを使うと、処理自体は問題なく実行できている状況でした。
 
しかし、それでもパッケージに波線のエラーが出ている事から、ひょっとするとPythonの構文チェックは、ランタイム(処理実行時)とは異なるインタープリターで実行されていたのでは?とふと思ったりもしました。
 

(1-3) 対策

後述の対策は、あまり根拠や再現性のない対策で恐縮ですが、一旦は私の環境では「この方法で解消した」という事で、ワークアラウンド程度に捉えて頂けたらと思います。
 
(対策手順)
 
・①VS Code画面の左下でインタープリターのバージョンをクリック
→中央上部にインタープリターの選択肢(※1)が表示されます。
・②異なるインタープリターを選択した後に、VS Codeを再起動
→波線のエラーが解消した
 
(図113)

(※1)「インタープリターを選択」について
余談ですが、Pythonでは同一マシン内で複数の環境を持つことができます。これらは、Pythonのバージョンや用途に応じて内容が異なる環境にする事ができます。
 
またPython3では「venv」という機能があり、プロジェクト毎に異なるパッケージインストールを管理する事ができます(≒それぞれ独立した仮想環境)。このメリットとして、お互いに独立した環境のため、パッケージをインストールする際に、相互への影響(環境を壊してしまったり)の心配なく出来る点が挙げられます。
 
基本的にPythonの開発を進める際は、用途やプロジェクト単位で、この「venv」を作る事が推奨されています。
 

Adsense審査用広告コード


Adsense審査用広告コード


-Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Pythonパッケージインストール(pip install)をオフラインで行う方法

<目次> (1) Pythonパッケージインストール(pip install)をオフラインで行う方法  (1-1) オフラインインストールとは? (2) オフラインインストールの手順(要Cコンパイルの …

「pyenv」の導入後も「System Python」が有効になってしまう事象の原因と対処について

  <目次> (1) 「pyenv」の導入後も「System Python」が有効になってしまう事象の原因と対処について  (1-1) 問題点の整理  (1-2) 原因&対策(1つ目)  ( …

no image

PythonでJSON形式データの値を取得する手順について

  <目次> (1) PythonでJSON形式データの値を取得する手順について  (1-1) サンプル①:ローカルのJSONファイルの読み込み(単純構造)  (1-2) サンプル②:ローカ …

PythonでPandasライブラリを用いてcsvファイルを読み込む方法

<目次> (1) PythonでPandasライブラリを用いてcsvファイルを読み込む方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) read_csvの主要なオプションご紹介 …

no image

PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法

  <目次> (1) PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法  ( …

  • English (United States)
  • 日本語
Top