sushitempura
@sushitempura (sushi tempura)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Pythonでbs4ライブラリimport時にエラーが出る

解決したいこと

Pythonでbs4ライブラリを使用したいのですが、
実装中に以下のエラーが発生しました。
解決方法を知りたいです。

■環境
 Python 3.8.2
 開発環境:VSCode(1.55.2)

発生している問題・エラー

スクリーンショット 2021-04-27 22.53.53.png

該当するソースコード

import requests, bs4

自分で試したこと

beautifulsoup4がインストールされていることは確認済みです。
(ターミナルで”pip3 install beautifulsoup4”を実行)
ただ、以下のような警告が出ます。
環境構築がうまくいってないのでしょうか。

Requirement already satisfied: beautifulsoup4 in ./Library/Python/3.8/lib/python/site-packages (4.9.3)
Requirement already satisfied: soupsieve>1.2 in ./Library/Python/3.8/lib/python/site-packages (from beautifulsoup4) (2.2.1)
WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /Users/Library/Python/3.8/lib/python/site-packages
sysconfig: /Users/Library/Python/3.8/lib/python3.8/site-packages
0

1Answer

画像のメッセージは、pylance が「bs4の型スタブが見つからない」というワーニングを出しているのだと思います。

型情報があれば型チェックなどをしてくれるのだけど、bs4には型情報が書かれていないのでしょう。
その場合でも、型スタブファイルがあれば型チェックができるのだけど、それもないよ、という警告だと思います。

ないままでも、型チェックやサゼスチョンがされないだけで、それ以外の実害はないと思います。

もしどうしても警告をなくしたいならば、方法は

  • bs4 が正式に型情報を追加する(対応されるのを待つしかない)
  • bs4 の型スタブファイルが存在すれば、それをインストールする(存在するかどうかは知らないのですが)
  • bs4 の型スタブファイルを自作して登録する
  • 型スタブファイルのワーニングを出さないように pylance の設定を変える

ぐらいだろうと思います。

1Like

Comments

  1. @sushitempura

    Questioner

    ご回答ありがとうございます。

    おっしゃる通りbs4に型情報がないことに起因していました。

    いちいちワーニング出てくるのも鬱陶しいため、
    pylanceの設定変更してワーニング出さないようにしました。

    ご丁寧にご教授いただきありがとうございました。

Your answer might help someone💌