質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

21246閲覧

Pythonのrequestsを実行するとエラー表示されてしまいます

nyumonsya

総合スコア34

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/01/17 02:16

pythonでwordcloudを作成しているのですが、コードを実行すると、おそらく「requests」について、以下のようなエラーメッセージが表示されます。
ただ、コードが止まってしまうわけではなく、エラーを吐きながらも最後まで問題なく実行されます。
とは言え解消したいので、方法が分かる方がいらっしゃいましたらご教示頂きたいです。
何か、バージョンが合わないと言われているようですが、よく分からず・・・
何卒、よろしくお願い致します!
↓↓エラーメッセージ

Warning

1 File "C:\python\requests\__init__.py", line 91 2 RequestsDependencyWarning) 3RequestsDependencyWarning: urllib3 (dev) or chardet (4.0.0) doesn't match a supported version!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2019/01/17 02:27 編集

メッセージを読んだ通りだと思いますが……。requstsのバージョンがなにで、requestsやurllib3をどうやっていれたか、Pythonはなにを使っているかを追記してはどうでしょうか。
quickquip

2019/01/17 02:30

chardetはrequestsをインストールするだけではこのバージョンにならないでしょうから、自分でいれたか、他のパッケージの依存で入ったかだと推測されるので、インストールされたパッケージの情報が全部必要かもしれません。
quickquip

2019/01/17 02:30

chardetはrequestsをインストールするだけではこのバージョンにならないでしょうから、自分でいれたか、他のパッケージの依存で入ったかだと推測されるので、インストールされたパッケージの情報が全部必要かもしれません。
quickquip

2019/01/17 02:30

複数入ってしまいました。すみません。
nyumonsya

2019/01/17 03:50

quiquiさん ご回答ありがとうございます! 「requests」のバーションは「2.21.0」でした。 色々なものを、社内セキュリティと格闘しながらインストールしたので、それぞれを入れた方法は記憶になく・・・すいません。 こちら、他の依存まで考えると、必要情報に際限が無さそうですね・・・ であれば、いっそ、requestst、urllib3、chardetをアンインストールして、requestsをインストールし直す、という方法はいかがでしょうか・・??
quickquip

2019/01/17 05:31

requestsが要求するバージョンのurllib3、chardetを上書きでインストールするしかないですが、"一般的な方法"が通用する環境ではないように見えますね。
nyumonsya

2019/01/17 06:23

ありがとうございます。 プロキシを活用して、何とか”一般的な方法”に近いやり方でやれているのですが、requestsが要求しているバージョンが、まだpypiなどのオフィシャルにアップされていないようです。 何か解消方法はありますでしょうか・・?? 一応、コード自体は動いているので、不具合はないのですが、毎回エラーメッセージが表示されるので・・・
guest

回答1

0

ベストアンサー

urllib3とchardetが、Githubあたりからソースで入れたらしく新しすぎるという警告です。

https://pypi.org/project/chardet/#files
https://pypi.org/project/urllib3/#files

にあるファイルはrequestsのバージョンチェックを通るはずです。

https://github.com/requests/requests/blob/v2.21.0/requests/init.py#L49


--force-reinstallオプションが必要(pip --force-reinstall 〜)なのかもしれません。


動かしているプログラムのディレクトリで

python -c 'import urllib3, chardet; print(urllib3.__file__); print(chardet.__file__)'

を実行した結果のパスが(冒頭pythonは適宜置き換えてください)

pip -V

の基準ディレクトリと異なっていると推測します。
そうならその最新版のurllib3とchardetを削除(念のためを考えるとどこかに移動)するのがいいでしょう。

もうひとつの可能性はpythonとpipが全然違う場所を見るようになっていることで、その確認は

python -c 'import sys; print(sys.base_prefix)'

pip -Vの結果を見比べるのがいいでしょう。

投稿2019/01/17 07:02

編集2019/01/17 09:54
quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nyumonsya

2019/01/17 07:25

quiquiさん ありがとうございます。 リンク先のファイルから上書きしてみましたが、同様のエラーとなってしまいました・・・ エラーメッセージ内で「chardet4.0.0にせよ」と言われているようですが、現状pypiでも「3.0.4」であり、これは一体どうすれば・・・すいません
quickquip

2019/01/17 07:27 編集

警告メッセージは「今入っているのが4.0.0」です。
nyumonsya

2019/01/17 07:55

え!!そうなのですね・・・逆でした、ありがとうございます。 ただ、「pip list」で見ると、「chardet 3.0.4」と「urllib3 1.24.1」となっており、全く不明な状況です。 一度アンインストールして、インストールし直してみましたが、エラーメッセージは変わらずでした・・
quickquip

2019/01/17 08:17

なるほど……なるほど……。pipが管理している場所以外でかつそれより優先度が高いどこかに新しいファイルが置かれているのですね……。
nyumonsya

2019/01/17 10:08

ご推察頂いた通り、「無駄に新しいファイル」を移動してみた所、エラーメッセージの表示が無くなりました! ありがとうございます!!!! pip list上も正常にリストアップされているため、他方面にも影響は無いのでは・・と思います。 多大なストレス解消となり、助かりました。 ありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問