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のPandas使用時に発生した「UnicodeEncodeError: ‘ascii’ codec can’t encode characters~」エラーの対処方法について

(0)目次&概説 (1) エラー対応1:UnicodeEncodeError  (1-1) 発生状況・エラーメッセージ   (1-1-1) エラーメッセージ   (1-1-2) エラーとなったソース …

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エラーが出た時の対処方法  ( …

Pythonでargparseを用いて引数を受け取って実行する方法

<目次> (1) Pythonでargparseを用いて引数を受け取って実行する方法  (1-1) argparseとは?  (1-2) 基本的な使い方  (1-3) サンプルプログラム (2) 参考 …

PythonにOpenCVを導入して画像を読込み&表示&拡大縮小してみる

(0)目次&概説 (1) OpenCVとは (2) OpenCVのインストール  (2-1) インストール資源の入手  (2-2) インストール時の注意事項  (2-3) インストールの実行 (3) …

Pythonのコンストラクタの基礎と「self」や「__init__」について

<目次> (1) Pythonのコンストラクタの基礎と「self」や「__init__」について  (1-1) 「__init__」やコンストラクタについて  (1-2) コンストラクタで使われる「s …

  • English (United States)
  • 日本語
Top