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

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

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

Q&A

解決済

1回答

7626閲覧

Atomでpythonのモジュールが上手く動かない

ay_metal

総合スコア16

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

0グッド

0クリップ

投稿2018/11/28 14:13

前提・実現したいこと

初心者の質問を聞いてもらえないでしょうか。

Macbookでpythonの環境をつくっています。

現在、Atomでエラーが発生しています。

Homebrewインストール

pyenvインストール

Atomインストール

その後訳あって
Anacondaインストール

Jupiter notebookインストール

今ここ

基本的にはAtomでコーディングをしていこうと思っています。
Atom で下記のコードを実行するとエラーが発生します。(スクレイピングの練習です。)
Jupyterで実行するとうまく動きます。
原因が分かりますでしょうか?pathがおかしいとか?

コード

import sys
import io

import requests
from bs4 import BeautifulSoup

url = "http://www.kyodonews.jp/"
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')

print(soup.find("h1"))

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

エラーメッセージ Traceback (most recent call last): File "/Users/yoshidaakira/Desktop/python/python_test.py", line 5, in <module> import requests ModuleNotFoundError: No module named 'requests'

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

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

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

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

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

guest

回答1

0

ベストアンサー

jupyterで走っているpythonとatomから走らせているpythonが別物なのでしょう。

python

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

のようなコードをそれぞれの環境で実行して確認してみてください。

また、環境構築の手順をできるだけ詳しく説明してください。

投稿2018/11/28 14:30

hayataka2049

総合スコア30933

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

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

ay_metal

2018/11/28 15:05

hayataka2049様 ありがとうございます。 下記コードをjupyterおよびatomで実行してみました。 import sys print(sys.prefix) print(sys.path) 確かに別物になっています。 環境構築の手順をどう説明すればいいのかよく分かりません。 素人ですいません。 【 jupyter 】 /anaconda3 ['', '/Users/user_name/min_py', '/anaconda3/lib/python37.zip', '/anaconda3/lib/python3.7', '/anaconda3/lib/python3.7/lib-dynload', '/anaconda3/lib/python3.7/site-packages', '/anaconda3/lib/python3.7/site-packages/aeosa', '/anaconda3/lib/python3.7/site-packages/IPython/extensions', '/Users/user_name/.ipython'] 【 atom 】 /Users/user_name/.pyenv/versions/3.6.5 ['/Users/user_name/Desktop/python', '/Users/user_name/.pyenv/versions/3.6.5/lib/python36.zip', '/Users/user_name/.pyenv/versions/3.6.5/lib/python3.6', '/Users/user_name/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload', '/Users/user_name/.pyenv/versions/3.6.5/lib/python3.6/site-packages']
hayataka2049

2018/11/29 04:39

どちらのpython環境を使いたいのでしょうか 環境構築の手順は、行った操作(ファイルを~というURLから落として実行した、~というコマンドを打った、など)を1つずつ書けば良いです。また、参考にしたサイト等があれば教えてください
ay_metal

2018/11/29 16:27 編集

どちらのpython環境がどうなのかもよく分かっていません。。。 Atomでいろいろなことに対応できればと思っています。 環境構築につきましてはまずは下記サイトの手順で行いました。 https://prog-8.com/docs/python-env その後、Udemyの講座でjupyterを使って学習しますということで 下記のサイトからanacondaをインストールしたという経緯です。 https://www.anaconda.com/download/#macos よろしくお願いします。
hayataka2049

2018/11/29 18:49 編集

atomでのpython実行環境はどうやって整えたのでしょうか。あと、どうやって「実行」していますか? jupyterで動いているのはanacondaの方なので、atomでもそちらを動かすように指定すれば同じ環境で使えます。
ay_metal

2018/11/30 04:01 編集

atomをインストールをしてやったことは、メニューを日本語化する「japanese-menu」と実行するために「atom-runner」を入れたことです。あとは特にしていません。 atomでanacondaを動かすにはどうしたらいいのでしょうか。設定のページを見てもいまいちわからない状態です。
Nerd_run.

2018/11/30 11:24 編集

おそらくatom-runnerで動いてる方のpythonが、デフォルトでインスールされているほうのpythonで実行されていると思われます。 atom config内に、atom-runnerでのpythonの実行をpython3と指定する方法と、.bash_profileにパスを記述してあげて、pythonを実行するとpython3が実行されるようにする方法があります。 個人的には、後者は他の環境でまた設定する手間がないのでおすすめです。
hayataka2049

2018/11/30 11:31

ay_metalさん こちらの記事の■Atomを使ってPythonを実行する方法以下の設定方法などを参考に、atom-runnerで使うpythonインタプリタを変更してください(「atom runner python インタプリタ 設定」などで検索すれば他にも記事が出てくると思います)。 https://paiza.hatenablog.com/entry/2017/02/07/%E5%88%9D%E5%BF%83%E8%80%85%E3%81%A7%E3%82%82%E7%B0%A1%E5%8D%98%E3%81%AB%E3%81%A7%E3%81%8D%E3%82%8BPython%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%A8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%81%A7 jupyterと同じ環境で使えた方が嬉しいでしょうから、jupyterで使っているpythonインタプリタのパスを調べる必要があります(記事では/Library/Frameworks/Python.framework/Versions/3.6/bin/Python3の部分を変更する) import sys print(sys.executable) をjupyterで実行し、パスを確認してください。
hayataka2049

2018/11/30 11:33

chicken-a_s.さん pyenvの環境なので、システムデフォルトのpythonとはまた違うようです。 .bash_profileで変えてしまうと、影響範囲が大きくなるので、あまりおすすめできません。
Nerd_run.

2018/11/30 20:04

@hayataka2049さん pyenvを使っていないのでわからないですが、そうなんですね。 python2系は2020年でサポートが終了らしいので、それで動くなら構わないような気がするのですがどうなんでしょう? にしてもanacondaはpipとの互換性とかでややこしいですね。 個人的にはpyenv使わずにminicondaを入れたほうが初心者には優しいように思うんですが、説明が面倒臭い。
ay_metal

2018/12/01 04:06 編集

@hayataka2049さん ありがとうございます。 jupyterのパスを確認してatom-runnerの設定を変更しました。 するとやりたかったスクレイピングができるようになりました。 しかし、なぜか一度上手く実行した後にもう一度実行すると同じエラーが発生するという状況になりました。 そこでターミナルを起動しpyenvからanacondaをインストールして、atomにも設定すると動き出すようになりました。(でもエラーがでるかも。) jupyterとは違うanacondaを動かすことにはなっていると思いますが、ひとまず動いたので使っていきたいと思います。 これから、いろいろ躓くことはあるかと思いますが、一つ一つやっていきたいと思います。 本当にありがとうございました。 また、@Nerd_run.さんもコメントありがとうございます。感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問