🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

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

Q&A

1回答

2997閲覧

tweepyのインポートエラーが解決しません。

yagisawa

総合スコア6

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

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

0グッド

0クリップ

投稿2021/03/16 11:29

前提・実現したいこと

ここに質問の内容を詳しく書いてください。

twitter API を組み込んだプログラムの作成練習をしています。
twitter からフォロワー数を読み込むものです。

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

jupyter lab 上ではtweepyはインポートされるのですが、
main.pyのファイルを作成して、コンソールから実行すると下記のエラーが出てしまいます。

Traceback (most recent call last): File "main.py", line 3, in <module> import tweepy ModuleNotFoundError: No module named 'tweepy'

該当のソースコード

python3

1import json 2import requests 3import tweepy

試したこと

tweepy をアンインストールしてから、再インストールしました。
モジュール検索パスを調べましたが、モジュールのパスは問題ないようでした。

補足情報(FW/ツールのバージョンなど)

osはmacOS Catalina バージョン10.15.7です。
anaconda、jupyter lab、を使っています。

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

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

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

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

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

jbpb0

2021/03/16 12:01

jupyter labで下記を実行してください import tweepy print(tweepy.__path__) その結果、tweepyがインストールされてるパスが表示されるので、最後の「tweepy」の前の「.../site-packages」のパスを記録してください 次に、エラーになるコンソールのPythonで、下記を実行してください import sys import pprint pprint.pprint(sys.path) その結果、たくさんパスが表示されますが、その中にjupyter labでの実行結果で記録したパスが入ってますでしょうか? 入ってないとimportできません
yagisawa

2021/03/17 04:00

早速のご回答ありがとうございます。 アドバイスをいただいた通りに確認したところ、 sys.pathの中に、jupyter labでのパスは入っていませんでした。 sys.pathがリスト型式だったので、 改めてjupyter labでのパスをsys.pathのリストへappendして追加したのち、 再度main.pyを実行しましたが、同じエラーが返ってきてしまいました。。
jbpb0

2021/03/17 04:16

jupyter labでも、下記を実行してください import sys import pprint pprint.pprint(sys.path) その結果表示されるパスを、コンソールのPythonでの結果と比べてみてください 表示されるパスが、かなり異なるのではありませんか? もしそうなら、jupyter labで使われてるPythonと、コンソールのPythonは別のものです 別のPythonにインストールされたモジュールは、そのモジュールのパスをsys.pathに追加しても使えません ちゃんとそのPythonにインストールしないと
yagisawa

2021/03/17 06:57

ご回答ありがとうございます。 そして、これまで私の用語の使い方が間違っていまして、 コンソールではなく、ターミナルでした。。すみません。。 (超初心者なもので恐縮です) あらためますと、jupyterlabのNotebookで作成したmain.pyを、 同じくjupyterlabのTerminalで実行しようとしてエラーが出ていました。 import sys import pprint pprint.pprint(sys.path) をどちらにも試したところ、jupyterlab内のNotebookで実行した場合と、 同じくjupyterlab内のTerminalで実行した場合では、 パスが全く違っていました! そしてこれとは別に、macの「ターミナル」で実行したら、 main.pyが実行できました。 仕組みを理解できていないので、頭の整理はつきませんが、 実行はできたことになります。 tweepyはjupyterlabのNotebookから!pipコマンドでインストールしているのですが、 同じjupyterlab内のTerminal機能なのに参照先が変わるのですね。。 ということで、本質的な解決ではありませんが一旦は実行できましたので、 追々勉強しながらこの問題を解決していきたいと思います。 お時間とらせてすみませんでした。ありがとうございます。
guest

回答1

0

jupyter labで下記を実行してください

python

1import tweepy 2print(tweepy.__path__)

その結果、tweepyがインストールされてるパスが表示されるので、最後の「tweepy」の前の「.../site-packages」のパスを記録してください

次に、エラーになるコンソールのPythonで、下記を実行してください

python

1import sys 2import pprint 3pprint.pprint(sys.path)

その結果、たくさんパスが表示されますが、その中にjupyter labでの実行結果で記録したパスが入ってますでしょうか?
入ってないとimportできませんので、その場合はjupyter labでも、下記を実行してください

python

1import sys 2import pprint 3pprint.pprint(sys.path)

その結果表示されるパスを、コンソールのPythonでの結果と比べてみてください

表示されるパスが、かなり異なるのではありませんか?
もしそうなら、jupyter labで使われてるPythonと、コンソールのPythonは別のものです
コンソールのPythonに「tweepy」をインストールしないと、そのPythonではimportできません

投稿2021/03/22 00:27

jbpb0

総合スコア7653

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問