我有一个Python脚本,该脚本从其ROOT目录引用一个模块。 该目录具有以下结构:
tensorflow_2
Mask_RCNN
mrcnn
model.py
samples
balloon
balloon.py
代码如下
import os
ROO_DIR = os.path.abspath("../../")
print(ROOT_DIR)
/home/mypc/tensorflow_2/Mask_RCNN
from mrcnn.model import log
from samples.balloon import balloon
上述第一个进口货可以毫无问题地运行。 第二个不会运行。可以通过将Balloon.py复制到ROOT目录并声明以下内容来解决它:
import balloon
但是,这并不是我的解决方案,只是对问题的调解。 我已经尝试致电:
export PYTHONPATH="$PYTHONPATH:~/mypc/tensorflow/Mask_RCNN"
将ROOT目录添加到我的pythonpath中。
log是model.py中的函数。
有人可以向我解释为什么可以导入功能但不能导入Balloon.py文件的原因。
顺便说一句,我还没有编写代码。由于ROS限制,我正在运行python 2.7。在python3 virtualenv中运行相同的脚本可获得相同的结果。
答案 0 :(得分:0)
尝试
import samples.balloon.balloon
或
from samples.balloon.balloon import someFunction
请注意,balloon.py
位于名为balloon
的子目录中。
希望这会有所帮助。