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

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

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

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

Q&A

3回答

5642閲覧

pythonで"import requests"が使えない.

GUWAGUWA

総合スコア20

Python

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

0グッド

0クリップ

投稿2020/08/21 02:14

編集2020/08/21 03:27

前提・実現したいこと

Python 3.8.4です.
requestsを用いてwebAPIを引っ張ってこようと考えております.

発生している問題・エラーメッセージ

"import requests"を打つと,

AttributeError: module 'chardet' has no attribute '__version__'

とでます.どうすれば,importが通るでしょうか.

以下が,コマンドの全文です.

commandline

1PS C:\> py 2Python 3.8.4 (tags/v3.8.4:dfa645a, Jul 13 2020, 16:46:45) [MSC v.1924 64 bit (AMD64)] on win32 3Type "help", "copyright", "credits" or "license" for more information. 4 5>>> import requests 6Traceback (most recent call last): 7 File "<stdin>", line 1, in <module> 8 File "C:\Python38\lib\site-packages\requests\__init__.py", line 87, in <module> 9 check_compatibility(urllib3.__version__, chardet.__version__) 10AttributeError: module 'chardet' has no attribute '__version__' 11>>>

試したこと

requestsをリインストールしました.
結果:変わりませんでした。

追記

パッケージのパッケージのpathを確認し,使っているpythonで"requests"までのpathが通っているかを確認しました.
結果:c:\python38\lib\site-packagesに,存在し,pathが通っていることが確認できました.

####requestsのpath確認

commandline

1PS C:\> pip show requests 2Name: requests 3Version: 2.24.0 4Summary: Python HTTP for Humans. 5Home-page: https://requests.readthedocs.io 6Author: Kenneth Reitz 7Author-email: me@kennethreitz.org 8License: Apache 2.0 9Location: c:\python38\lib\site-packages 10Requires: idna, certifi, chardet, urllib3 11Required-by:

####pythonのpath確認

commandline

1PS C:\> py 2Type "help", "copyright", "credits" or "license" for more information. 3>>> import sys 4>>> import pprint 5>>> 6>>> pprint.pprint(sys.path) 7 'C:\Python38\python38.zip', 8 'C:\Python38\DLLs', 9 'C:\Python38\lib', 10 'C:\Python38', 11 'C:\Users\aaa\AppData\Roaming\Python\Python38\site-packages', 12 'C:\Python38\lib\site-packages']

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/08/21 23:53

sys.pathの 'C:\\Users\\aaa\\AppData\\Roaming\\Python\\Python38\\site-packages' がまずそうな気がしますね。
退会済みユーザー

退会済みユーザー

2020/08/21 23:57

コマンドプロンプトなどから set PYTHONPATH として上記が入ってるようなら set PYTHONPATH= として消して動かしてみてください。
guest

回答3

0

AttributeError: module 'chardet' has no attribute 'version'

パッケージのchardetと関係の無いchardet.pyがその辺に存在すると思われます。
名前を変えましょう。

投稿2020/08/21 05:37

otn

総合スコア85762

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

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

0

自分で作っているファイル(のひとつ)にrequests.pyって名前を付けていませんか。
それを違う名前に変えてください。

投稿2020/08/21 02:50

Daregada

総合スコア11990

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

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

GUWAGUWA

2020/08/21 03:12

ご回答ありがとうございます! 今回の場合はC直下で"import requests"としているので,C直下に存在するrequests.pyの名前を変更すればよいのでしょうか? それとも,C以下全てのディレクトリに存在する,requests.pyの名前を変更すればよいのでしょうか?
Daregada

2020/08/21 03:22

今回あなたが作成しているコードが置かれているフォルダーにあるrequests.pyの名前です。 もし、モジュール検索パスの内容を自分で追加しているのであれば、それらのディレクトリも対象ですが。
GUWAGUWA

2020/08/21 03:39

・追加しているモジュール内に,requests.pyが複数存在しないか確認 ・空のディレクトリを作成し,そのディレクトリ内でpythonを実行,"import requests"を書く この2つをすると,通るということでしょうか? それをしましたが結果は変わりませんでした.
Daregada

2020/08/21 03:56

pip show chardet を実行すると何が表示されますか?
GUWAGUWA

2020/08/21 05:32

pip show chardet Name: chardet Version: 3.0.4 Summary: Universal encoding detector for Python 2 and 3 Home-page: https://github.com/chardet/chardet Author: Daniel Blanchard Author-email: dan.blanchard@gmail.com License: LGPL Location: c:\python38\lib\site-packages Requires: Required-by: requests です!
guest

0

あるあるなのが、使っているものとは別のpythonにモジュールをインストールして、使えない、という場合があります。

どこにあるpythonにそれをインストールして、実際に使うpythonはどこにあるのかをチェックしてみては。

投稿2020/08/21 02:23

y_waiwai

総合スコア88024

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

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

GUWAGUWA

2020/08/21 03:28

ご回答ありがとうございます! 追記にて,返信します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問