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

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

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

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

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

Q&A

2回答

31251閲覧

pythonでimportエラーが起きる

tu-kun

総合スコア8

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

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

0グッド

1クリップ

投稿2017/02/07 07:10

python3.6

1from bs4 import BeautifulSoup 2 3html = """ 4<html><body> 5 <h1>スクレイピングとは?</h1> 6 <p>webページを解析すること。</p> 7 <p>任意の箇所を抽出すること。</p> 8</body></html> 9""" 10 11 12soup = BeautifulSoup(html, 'html.parser') 13 14h1 = soup.html.body.h1 15p1 = soup.html.body.p 16p2 = p1.next_sibling.next_sibling 17 18 19print("h1 = " + h1.string) 20print("p = " + p1.string) 21print("p = " + p2.string)

これを実行すると
Traceback (most recent call last):
File "tarako2.py", line 1, in <module>
from BeautifulSoup4 import BeautifulSoup
ImportError: No module named 'BeautifulSoup4'
と表示されできません。

あと
pip3 install beautifulsoup4
をすると

Requirement already satisfied: beautifulsoup4 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
と表示されます。

改善点を教えてください。

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

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

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

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

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

guest

回答2

0

実行時にちゃんとpip installされているPython3系で実行されてますか?
もし、Python3系で実行されていれば問題なく動作すると思います。

下記コードを埋め込んであげれば実行中のPythonのバージョン確認できます。

import sys print(sys.version_info)

投稿2017/02/07 09:16

koichi-ezato

総合スコア237

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

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

tu-kun

2017/02/07 09:39

python3になっています。
guest

0

提示されているソースコードには from bs4 import BeautifulSoup と書いていますが、この状態で実行して本当に ImportError: No module named 'BeautifulSoup4' が表示されますか?

from bs4 import BeautifulSoup と書いてあれば動作すると思います。


追記

ImportError: No module named 'bs4' と表示されるということなので、実行しているPythonと、インストールに使用したPythonが異なっているのが原因だと思われます。

pip3 install beautifulsoup4 でインストールしたということですが、この pip3 のpythonはプログラムを実行するために使っているPythonと同じでしょうか?以下を確認してみてください

確認1

pip3 --version python -m pip --version pip3 list python -m pip list

(上記の python の部分はあなたがプログラムを実行するときに使っているPython (python2 とかpython3とかpython3.5とか)に置き換えて実行してください)

同じPythonを使用していれば、結果は同じになるはずです。異なっている場合は、使用するPythonのバージョンが統一されていないので、同じPythonを使うようにしてみてください

ーーーーーーーーー

追記

結果が同じという回答をもらったので、更新します。

  • 確認2: python -c "import bs4" を実行してエラーにならないか?
  • 確認3: pip3 uninstall beautifulsoup4 -y を実行してアンインストールしてから、再度 pip3 install beautifulsoup4 を実行し、確認2を実行するとどうなるか

投稿2017/02/07 09:05

編集2017/02/07 10:28
shimizukawa

総合スコア1847

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

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

tu-kun

2017/02/07 09:41

Traceback (most recent call last): File "tarako2.py", line 1, in <module> from bs4 import BeautifulSoup ImportError: No module named 'bs4' これが表示されるようになりました。
shimizukawa

2017/02/07 10:09

それを踏まえて、回答更新しました。
tu-kun

2017/02/07 10:20

pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (python 3.6) pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (python 3.6) DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. beautifulsoup4 (4.5.3) numpy (1.12.0) pandas (0.19.2) pip (9.0.1) python-dateutil (2.6.0) pytz (2016.10) requests (2.13.0) setuptools (28.8.0) six (1.10.0) DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. beautifulsoup4 (4.5.3) numpy (1.12.0) pandas (0.19.2) pip (9.0.1) python-dateutil (2.6.0) pytz (2016.10) requests (2.13.0) setuptools (28.8.0) six (1.10.0) 実行したところ、上から順にこのような結果になりました。
tu-kun

2017/02/07 11:06

確認2を実行したところ Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'bs4' と表示され、 一度アンインストールした後に実行したところ Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'bs4' と表示されました。
shimizukawa

2017/02/07 12:42

不思議ですね..。ちょっと問題の原因が分からないので以下もご確認ください。 確認4: python -c "import requests" 確認5: python -c "import sys;print(sys.path)" 確認6: ls /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages 確認7: ls /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/bs4
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問