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

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

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

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

Q&A

解決済

1回答

4111閲覧

Python3でtreeがモジュールエラーになる

abab7200

総合スコア120

Python 3.x

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

0グッド

0クリップ

投稿2018/01/29 13:30

表題の通り、treeモジュールがエラーになります。
バージョンも問題ないと思うのですが、どなたかご教授いただければと存じます。

python

1# coding: UTF-8 2import tree 3import requests 4import time 5 6r = requests.get("https://teratail.com") 7print(r.text)

エラー内容

Traceback (most recent call last): File "test4.py", line 2, in <module> import tree ModuleNotFoundError: No module named 'tree'
$ python -V ⇛ Python 3.6.1

pip3 インストール ログ

$ pip3 install tree Requirement already satisfied: tree in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages Requirement already satisfied: Pillow in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: svgwrite in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: setuptools in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: click in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: pyparsing>=2.0.1 in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from svgwrite->tree)

pip インストール ログ

~ pip install tree Requirement already satisfied: tree in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages Requirement already satisfied: Pillow in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: svgwrite in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: setuptools in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: click in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from tree) Requirement already satisfied: pyparsing>=2.0.1 in ./.pyenv/versions/3.6.1/lib/python3.6/site-packages (from svgwrite->tree)

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

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

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

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

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

Udomomo

2018/01/29 13:45

そのpythonファイルを実行する直前に、which pythonコマンドを叩くと何が出てきますか?
abab7200

2018/01/29 13:47 編集

~ which python
abab7200

2018/01/29 13:47

/Users/smt/.pyenv/shims/python
abab7200

2018/01/29 13:47

となりました
guest

回答1

0

ベストアンサー

Tree 0.2.3であれば、正しくはfrom Tree.core import Treeなのではないでしょうか?

投稿2018/01/29 14:00

can110

総合スコア38262

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

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

abab7200

2018/01/30 13:54

from Tree.core import Treeで対応できました!ありがとうございます! もしお手すきなら、なぜ、from Tree.core import Treeでインポートできたのかご教授いただけないでしょうか。。。。
can110

2018/01/30 14:06

インポート対象の「(class )Tree」は~/site-packages/Tree/core.py上に存在するからです。 これをインポートする場合は「from Tree.core import Tree」と記述します。 このように階層でモジュールを管理、指定できる仕組みをPythonでは[パッケージ](https://docs.python.jp/3/tutorial/modules.html#packages)と呼びます。
abab7200

2018/01/31 08:13

ありがとうございます! 理解しきれていないので、的を得てないかもですが パスを通せばimport Tree という書き方ができるという事でしょうか?
can110

2018/01/31 08:39

やや考え違いをしているように思います。 まずパスは通っている(はずな)ので「import Tree」という記述は通ります。 ただしこれでimportされる「Tree」は「~/site-packages/Tree/core.py」内のclass「Tree」ではなく 「~/site-packages/Tree\__init__.py」というモジュールになります。 class「Tree」をimportしたい場合は回答のような記述が必要です。
abab7200

2018/01/31 11:06

理解です! 長期間に渡り丁寧に解説いただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問