解決したいこと
PythonでスクレイピングをしてくれるLINE botを作っています。
BeautifulSoupのインポートでエラーが出ており、解消できずにおります。
色々調べたところ、実行しているPythonとインストールしている箇所が違うのでは、と思うのですが、自分で調べる限りはあっているように見えます。
原因・調べ方を教えていただけると幸いです。
Windows10、実行環境はherokuです。
エラーログ
heroku logs
で確認すると、以下のログが出ています。
2019-11-19T15:35:15.021825+00:00 app[web.1]: sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0) 2019-11-19T15:35:15.022294+00:00 app[web.1]: Traceback (most recent call last): 2019-11-19T15:35:15.022301+00:00 app[web.1]: File "main.py", line 16, in <module> 2019-11-19T15:35:15.022528+00:00 app[web.1]: import scrape as sc 2019-11-19T15:35:15.022534+00:00 app[web.1]: File "/app/scrape.py", line 4, in <module> 2019-11-19T15:35:15.022708+00:00 app[web.1]: from bs4 import BeautifulSoup 2019-11-19T15:35:15.022762+00:00 app[web.1]: ModuleNotFoundError: No module named 'bs4'
###該当箇所のコード
scrape.pyのインポート部分は以下のように書いています。
#デバッグ用 import sys print(sys.version_info) import urllib.request from bs4 import BeautifulSoup import json import requests
試したこと
- BeautifulSoupのインストール
pip install beautifulsoup
をしたところ、以下のように表示されます。
インストールはできているのでは、という理解です。
Requirement already satisfied: beautifulsoup4 in c:\pg\python\lib\site-packages (4.8.1) Requirement already satisfied: soupsieve>=1.2 in c:\pg\python\lib\site-packages (from beautifulsoup4) (1.9.5)
C:\pg\Python\Lib\site-packages以下には、確かにbs4のフォルダが存在しています。
herokuのPythonがどこを参照して見つからないと言っているのわかりません。
- 環境変数を変更
システム環境変数を以下のように変更・再起動しましたが、変化ありませんでした。
PYTHONPATH C:\pg\Python\Lib\site-packages
- 対話モードで参照パスを確認
対話モードで実行コマンドと実行結果です。
>>> import sys >>> print(sys.path) ['', 'C:\pg\Python\Lib\site-packages', 'C:\pg\Python\python37.zip', 'C:\pg\Python\DLLs', 'C:\pg\Python\lib', 'C:\pg\Python']
- その他コマンド色々試す
https://teratail.com/questions/64929を参照しながら試してみましたが、
よく原因がわかりませんでした。
python -c "import bs4"
をたたく⇒特に何もでず
お手上げです。。
足りない情報があればご教示ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/28 00:41