python 3.5.3のimportエラーについて
以下のmain_nunchuck.pyを実行しました。sudo python3 main_nunchuck.py
from ..import_directory.Nunchuck.RaspberryPi import nunchuck
from ..import_directory.python_sdk.milkcocoa import milkcocoa
すると、以下のエラーが発生しました。
Traceback (most recent call last):
File "main_nunchuck.py", line 1,in <module>
from ..import_directory.Nunchuck.RaspberryPi import nunchuck
SystemError: Parent module '' not loaded, cannot perform relative import
ファイル構造は以下の様にしています。
└─/pi
└─/nunchuck_control
│ main_nunchuck.py
│
└─/import_directory
│
│
├─/Nunchuck
│ |
│ |__/RaspberryPi
│ nunchuck.py
|
├─/python_sdk
|
|
├─/milkcocoa
| | milkcocoa.py
| __int__.py
|
├─/paho
|
├─/mqtt
どのようにしてpythonのimportをすれば良いのでしょうか。
よろしくお願いします。
========追伸1==========
__int__.py
を以下のように各フォルダに挿入しました。
└─/pi
└─/nunchuck_control
│ main_nunchuck.py
│
└─/import_directory
│ __int__.py
│
├─/Nunchuck
│ | __int__.py
| |
│ ├─/RaspberryPi
| | __int__.py
│ nunchuck.py
|
├─/python_sdk
| __int__.py
|
├─/milkcocoa
| | milkcocoa.py
| __int__.py
|
├─/paho
| __int__.py
|
├─/mqtt
| __int__.py
client.py
そして、main_nunchuck.py
を実行しました。
from import_directory.Nunchuck.RaspberryPi import nunchuck
from import_directory.python_sdk.milkcocoa import milkcocoa as milkcocoa
mtb_beta様にお答え頂いたようにnunchuck.py
のimport errorは発生しませんでした。ありがとうございます。ただ、client.py
のimport errorが発生しました。
Traceback (most recent call last):
File "main_nunchuck.py", line 2,in <module>
from import_directory.python_sdk.milkcocoa import milkcocoa as milkcocoa
File "/home/pi/nunchuck_control/import_directory/python_sdk/milkcocoa/milkcocoa.py", line 6, in <module>
from paho.mqtt import client as mqtt
ImportError:No module named 'paho'
と表示されました。度々、すみません。協力頂ければ幸いです。
=====追伸2======
自己解決しました。milkcocoa.py
の6行目を以下のように変更するとうまく行きました。
from import_directory.python_sdk.milkcocoa.paho.mqtt import client as mqtt
理由は分かりませんが、なんとなく絶対PATHを入力するとうまく動きました。なぜ、相対PATHではうまくいかず、絶対PATHではうまく動くのでしょうか?