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のSQLAlchemyで「ArgumentError : Could not parse rfc1738 URL」エラーや「InvalidRequestError: Could not reflect: requested tables(s)」エラーが出た時の対処について

(0)目次&概説 (1) エラー対応1:sqlalchemy.exc.ArgumentError  (1-1) 発生状況・エラーメッセージ   (1-1-1) エラーメッセージ   (1-1-2) エ …

Python環境にpyodbcをインストールしてSQLServerに接続する手順

<目次> (1) PythonにpyodbcをインストールしてSQLServerに接続する手順  (1-1) 手順1:ODBCドライバのインストール  (1-2) 手順2:pythonパッケージの導入 …

PythonでAPIを呼び出すサンプルプログラムをご紹介

  <目次> (1) PythonでAPIを呼び出すサンプルプログラム  (1-1) 構文  (1-2) STEP1:事前準備  (1-3) STEP2:疎通①(最もシンプルなAPI呼び出し …

PythonでSQLAlchemyを使ってOracleDBに接続する際に遭遇したエラーとその対処方法

本記事は次の記事の続編です。 (下記記事の手順を実行する際に遭遇したエラーについての備忘録) PythonでSQLAlchemyを使ってOracleDBに接続する方法 (0) 目次 (4) エラー対応 …

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

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

  • English (United States)
  • 日本語
Top