【发布时间】:2020-03-20 02:25:20
【问题描述】:
我的 python 项目由许多模块组成,这些模块相互之间有导入语句。在我的 Eclipse PyDev 环境中,这些导入语句运行良好,但是在将其移植到我的 Raspberry 时,运行时环境无法加载依赖模块。
我已配置 PYTHONPATH,以便我的项目的根目录 (/home/pi/Desktop/Projects/Catatumbo) 列在 sys.path: 中:
['/var/www/upload/Projects/Catatumbo',
'/home/pi/Desktop/Projects/Catatumbo',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-arm-linux-gnueabihf',
'/usr/lib/python3.5/lib-dynload',
'/home/pi/.local/lib/python3.5/site-packages',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages']
项目结构如下:
-core
--adafruit
---forecast (That's where the utility class resides)
-forecast
--adafruit (That's where the script resides)
虽然通过以下方式从项目根目录启动脚本:
sudo python3 forecast/adafruit/adafruit_forecast.py
仍然会导致以下错误:
File "forecast/adafruit/adafruit_forecast.py", line 35, in <module>
from core.adafruit.forecast.forecast_colors import ForecastNeoPixelColors
ImportError: No module named 'core'
感谢您的帮助!
【问题讨论】:
-
请编辑问题以显示这些文件的目录结构。您可能应该使用相对导入,例如
from .core import ...。 -
嗨,Kaya,谢谢您的快速响应。添加结构。我在开发环境中玩过相对导入,但不知道如何进行多级遍历(通常是 ../../somedir;在 python ..somedir 中)。
标签: python python-3.x