2015-04-03 3 views
1

У меня есть проект Python, имеющий следующую иерархию:Невозможно импортировать модуль Python в сценарий Python

- product_recommender_sys 
    - data 
    - dataset.csv 
    - public 
    - __init__.py 
    - startup.py 
    - src 
    - __init__.py 
    - recommender.py 

Я пытаюсь импортировать recommender.py модуль в startup.py. Ниже приводится код:

import sys 
sys.path.insert(0, '/home/user1/product_recommender_sys/src') 
print sys.path 
from product_recommender_sys.src import recommender 
recommender.recommend() 

Я включил __init__.py файл и добавил соответствующие папки sys.path. Кроме того, тот же оператор import отлично работает с интерпретатором Python, но не работает внутри скрипта. Как заставить импорт работать внутри скрипта?

+0

Не могли бы вы отформатировать дерево лучше, это упростит ситуацию. –

+0

Что делать, если вы используете 'sys.path.insert (0, '/ home/user1/product_recommender_sys')' Поскольку это корневая папка модуля. –

+0

@PaulRooney, я тоже пробовал корневую папку. Не имеет значения. Вызывает ту же ошибку «ImportError: No module с именем product_recommender_sys.src» – user4460175

ответ

0

Я нашел проблему. Модуль startup.py не скомпилировался, поскольку он не импортировался.

Первый компилятор сценария решает проблему.

python -m compileall product_recommender_sys/public/startup.py 
Смежные вопросы