Я запускаю скрипт и получаю сообщение об ошибке:
Traceback (most recent call last):
File "common/tensorflow/run_tf_benchmark.py", line 30, in <module>
from common.base_benchmark_util import BaseBenchmarkUtil
ModuleNotFoundError: No module named 'common'
Я работаю на экземпляре ec2 со следующим AMI: Deep Learning AMI (Ubuntu 16.04) Версия 25.0 (ami-025c308193ac1a136) и я также работаю в среде анаконды tenorflow_p36, которая поступает из AMI. Моя директория Ubuntu имеет следующую структуру:
home
--ubuntu
--benchmark_models
--benchmark
--common
--__init__.py
--base_benchmark_util.py
--tensorflow
--run_tf_benchmark.py
--__init__.py
Обратите внимание, что в каталоге есть другие файлы, но это соответствующие python файлы. В настоящее время значения импорта в верхней части run_tf_benchmark.py равны
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import sys
sys.path.append('/home/ubuntu/benchmark_models/benchmarks/common')
print(sys.path)
from argparse import ArgumentParser
from common.base_benchmark_util import BaseBenchmarkUtil
, а напечатанный путь sys.path равен
['/home/ubuntu/benchmark_models/benchmarks/common/tensorflow', '/home/ubuntu/src/cntk/bindings/python',
'/home/ubuntu/benchmark_models/models/image_recognition/tensorflow/mobilenet_v2', '/home/ubuntu/models',
'/home/ubuntu/models/research', '/home/ubuntu/models/research/slim',
'/home/ubuntu/anaconda3/lib/python36.zip', '/home/ubuntu/anaconda3/lib/python3.6',
'/home/ubuntu/anaconda3/lib/python3.6/lib-dynload', '/home/ubuntu/anaconda3/lib/python3.6/site-packages',
'/home/ubuntu/benchmark_models/benchmarks/common']
. Я отчетливо вижу общее в пути python, но ошибка импорта все еще происходит. Что я делаю не так?