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

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

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

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

Q&A

3回答

1703閲覧

「ゼロからやさしくはじめるPython入門」 flickrAPIを用いた画像収集プログラムでのエラーについて

e70822

総合スコア10

Python 3.x

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

0グッド

0クリップ

投稿2019/01/25 04:40

編集2019/01/25 15:16

ゼロからやさしくはじめるPython入門というテキストを読み、
Pythonの勉強をしています。
テキスト通りに進めていたのですが、エラーを吐いて進まなくなった箇所が出て来たので、
原因がわかる方、ご指摘をいただけるとありがたいです。

環境は、iMac 2011、MacOS 10.13.6(High Sierra)、
Python3.6.3、Tcl/Tk 5.5.18.0( それぞれテキスト推奨バージョンに同じ)です。

以下ソースコード、ラン時のエラー内容(一部、xxxxxにて伏せさせていただいています。)

###ターミナルでflickrapiのインストール

terminal

1pip install flickrapi

get_photos.py(ランさせたスクリプトファイル)

python

1key = "xxxxxxxx" 2secret = "xxxxxxxx" 3 4import flickr_downloader as fli 5 6fli.download("lemon", "./lemon", 7 api_key=key, api_secret=secret) 8fli.download("strawberry", "./strawberry", 9 api_key=key, api_secret=secret) 10print("ok")

flicker_downloader.py(上記スクリプトファイルと同じディレクトリに配置)

python

1from flickrapi import FlickrAPI 2from urllib.request import urlretrieve 3import os, time, sys 4 5def download(keyword, savedir, api_key, api_secret, max_count=300, size_type="q"): 6 if not os.path.exists(savedir): os.mkdir(savedir) 7 if max_count > 500: max_count = 500 8 url_type = "url_" + size_type 9 flickr = FlickrAPI(api_key, api_secret, format='parsed-json') 10 res = flickr.photos.search( 11 text=keyword, 12 per_page=max_count, 13 media='photos', 14 sort="relevance", 15 safe_search=1, 16 extras=url_type+',license') 17 18 photos = res['photos'] 19 try: 20 21 for i, photo in enumerate(photos['photo']): 22 url = photo[url_type] 23 filepath = savedir + '/' + photo['id'] + '.jpg' 24 if os.path.exists(filepath): continue 25 print(str(i + 1) + ":download=" + url) 26 urlretrieve(url, filepath) 27 time.sleep(1) 28 except: 29 import traceback 30 traceback.print_exc()

###ラン結果

Python 3.6.3 (v3.6.3:2c5fed86e0, Oct 3 2017, 00:32:08) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "copyright", "credits" or "license()" for more information. >>> ============= RESTART: /Users/xxxxx/Desktop/python/get_photos.py ============= Traceback (most recent call last): File "/Users/xxxxx/Desktop/python/get_photos.py", line 6, in <module> import flickr_downloader as fli File "/Users/xxxxx/Desktop/python/flickr_downloader.py", line 1, in <module> from flickrapi import FlickrAPI ModuleNotFoundError: No module named 'flickrapi' >>>

追記(回答欄からいただいた確認プログラム)
###flickrapiの確認コマンド

terminal

1pip show flickrapi

###flickrapi確認コマンドの出力結果

terminal

1xxxxx-Mac:~ xxxxx$ pip show flickrapi 2Name: flickrapi 3Version: 2.4.0 4Summary: The Python interface to the Flickr API 5Home-page: https://stuvel.eu/flickrapi 6Author: Sybren A. Stuvel 7Author-email: sybren@stuvel.eu 8License: Python 9Location: /anaconda3/lib/python3.7/site-packages 10Requires: requests-oauthlib, six, requests, requests-toolbelt 11Required-by:

###Pythonのシステム確認プログラム

python

1import sys 2print(sys.version) 3print(sys.prefix) 4print(sys.path)

###Pythonのシステム確認プログラムの出力結果

================= RESTART: /Users/naoya/Desktop/importsys.py ================= 3.6.3 (v3.6.3:2c5fed86e0, Oct 3 2017, 00:32:08) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] /Library/Frameworks/Python.framework/Versions/3.6 ['/Users/xxxxx/Desktop', '/Users/xxxxx/Documents', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages'] >>>

以上です、よろしくお願いします。

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

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

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

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

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

hayataka2049

2019/01/25 04:46

コードとエラーメッセージはhttps://teratail.com/tour を参考にシンタックスハイライト・マークダウンで囲んでください。 ``` コード ``` のように。 また、flickrapiはどのようにインストールしましたか?
e70822

2019/01/25 05:25

ハイライト、マークダウンの修正をさせていただきました。 flickrapiは追記した通り、Macのターミナルにてインストールをしました。
guest

回答3

0

ModuleNotFoundError: No module named 'flickrapi'
このエラーはモジュールが見つかりませんというエラーですのでFlickrAPIの入れ方を間違えたのでしょう。
それかパスが通ってないかのどちらかです。
明らかwindowsのパスではないですがとの様な環境で実行されていますか?

投稿2019/01/25 04:46

stdio

総合スコア3307

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

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

e70822

2019/01/25 06:05

テキスト通りにインストールを進めましたので、 flickrapiのインストールが間違っているということは恐らくないと思うのですが...。 環境は、質問前半に書いてあるとように、MacOS環境になります。
stdio

2019/01/25 06:09

flickrapiの導入をもう一回やってみて!! なんか途中でインストールできないない可能性あるから...
e70822

2019/01/25 15:17

再度flickrapiのインストールを行いましたが、症状は改善しませんでした・・・。
guest

0

pip show flickrapiの結果と、

python

1import sys 2print(sys.version) 3print(sys.prefix) 4print(sys.path)

を実行した結果を確認してみてください。

環境に複数のpythonがインストールされている場合、それぞれ独立したpipがあって別々にライブラリが管理されます。pipコマンドが使いたいpythonと一致している保証はないので、まずはそれを確認してください。

投稿2019/01/25 07:45

hayataka2049

総合スコア30933

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

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

e70822

2019/01/25 15:20

教えていただいたプログラムを製作し、実行してみました。 結果は、本文に追記していますので、ご確認していただければと思います。 また、別のWindows機で同じverのPython、flickrapiをインストールして見たところ、 そちらでは問題なく画像を収集するプログラムを動かすことができました。 Mac側の環境の問題ということで間違いはないのだと思いますが・・・。
hayataka2049

2019/01/25 15:26

flickrapiはanacondaの環境に入っているようですがpythonコマンドはシステムデフォルトのものですね。 基本的にはanacondaのpythonを使うようにすればよいです。まずはどうやって環境構築したのかを教えてください。それによって対処が変わる可能性があります。
guest

0

「ゼロからやさしくはじめるPython入門」では、Pythonの本家WebサイトからダウンロードしてインストールしたPythonと、Anacondaのインストールを紹介しています。そして、それが衝突してしまっているようですね。そこで、一度、本家サイトからインストールしたPythonをアンインストールするか、あるいは、両方をアンインストールした後、改めてAnacondaをインストールするのが簡単な解決方法と思います。

アンインストールしたくない場合は、PATHの設定を変更し、pipとpythonコマンドが同じパスを参照するようにすると解決できます。

投稿2019/08/04 08:10

kujirahand

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問