无法在Raspberry Pi上导入模块

时间:2018-07-26 21:31:39

标签: python pycharm python-import raspberry-pi3

我知道这个问题已经被问了很多,但我不知道自己在哪里搞砸。我正在尝试导入模块FoodDelivLibrary.Utils,但是当我在树莓派上运行它时,它说“模块不存在”,这很奇怪,因为它在pycharm中可以正常工作,但是在使用终端时会遇到issurs。

这是我的file structure

DriveTrain.py文件正在尝试从Serial.py文件访问函数,但我不断收到错误消息“ No module named'FoodDelivLibrary'”。任何帮助将不胜感激。谢谢!

我在每个文件夹中都有一个 init .py。

运行时遇到问题的导入是:

from FoodDelivLibrary.Utils.Serial import Serial

如果您想更清晰地查看文件结构,请点击这里:https://github.com/archishou/FoodDeliv

2 个答案:

答案 0 :(得分:0)

您的文件夹中缺少__init__.py(以表明它们是可导入的程序包)。

app
├── __init__.py
├── a
│   └── __init__.py
└── b
    ├── c
    │   ├── __init__.py
    │   └── drive_train.py
    └── d
        ├── __init__.py
        └── serial.py

app/__init__.py中包含from app.b.d import serial

app/b/d/serial.py中包含from app.b.c import drive_train

app/b/c/drive_train.py中包含print("imported!")

app导入app/..打印出已导入!

我将让您将此示例与您自己的代码关联起来。

答案 1 :(得分:0)

尝试将其添加到DriveTrain.py文件的顶部:

import sys, os
sys.path.insert(1, os.path.join(sys.path[0], '..'))
from Utils.Serial import Serial

它将路径添加到当前文件上方。