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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

26904閲覧

Python3でurllib.requestがエラーになる

abab7200

総合スコア120

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/01/21 10:07

編集2018/01/21 10:09

参考サイトを元にスクレイピングして画像DLの勉強をしています。
pip install requestsしているにも関わらず、requestsのモジュールがないというエラーが発生するので、問題の切り分け方法などをご教授いただければと存じます。

エラー内容

Traceback (most recent call last): File "test4.py", line 3, in <module> import urllib.request ImportError: No module named request

python

1# coding:utf-8 2#ライブラリの読み込み --- (*1) 3import urllib.request 4 5import urlopen 6#URLと保存パスを指定 --- (*2) 7url = "https://goo.gl/1kw79Y" 8savename = "test.png" 9 10#ダウンロード --- (*3) 11urllib.request.urlretrieve(url, savename) 12print("保存しました") 13
pip install requests Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/site-packages Requirement already satisfied (use --upgrade to upgrade): chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/site-packages (from requests) Requirement already satisfied (use --upgrade to upgrade): certifi>=2017.4.17 in /usr/local/lib/python2.7/site-packages (from requests) Requirement already satisfied (use --upgrade to upgrade): urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/site-packages (from requests) Requirement already satisfied (use --upgrade to upgrade): idna<2.7,>=2.5 in /usr/local/lib/python2.7/site-packages (from requests) You are using pip version 8.1.2, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

環境
Python3

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

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

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

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

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

guest

回答1

0

ベストアンサー

使っているのがpython2だからです。

20.5. urllib — URL による任意のリソースへのアクセス

注釈 urllib モジュールは、Python 3 で urllib.request, urllib.parse, urllib.error に分割されて名称変更されました。 2to3 ツールが自動的にソースコードのimportを修正します。また、 Python 3 の urllib.request.urlopen() 関数は urllib2.urlopen() を移動したもので、 urllib.urlopen() のほうは削除されています。

エラーメッセージのログを見るに、Linux等のOSでシステム標準のpythonを使っていると思いますが、Linuxでは単に

bash

1$ python

とタイプすると、python2が起動するはずです。
試しに、上を試してみてください。おそらくバージョンがpython2.x.zになるはず。
python3を使いたい場合は、明示的に末尾に"3"をつけてください。

bash

1$ python3

同様の理由で、pipコマンドもpython3用にはpip3というコマンドが用意されてるはずです。
詳しくは

bash

1$ ls -l /usr/bin

等で実行ファイルのあるディレクトリの状態を確認してください。

投稿2018/01/21 10:30

diningyo

総合スコア379

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

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

abab7200

2018/01/22 08:08

指摘通りでしたありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問