2016-11-13 4 views
0

Я установил приложение питона с помощью команды python setup.py install из папки проекта, но когда я исполню ее из моего Баша я получаю ошибку:Невозможно импортировать модуль после установки

ImportError No module named 'skipgram'

Этот модуль импортируются непосредственно из __main__.py файл. Источник проекта: https://github.com/phanein/deepwalk. Вы можете видеть, что в папке deepwalk есть файл __main__.py, а оттуда он импортирует библиотеку Skipgram. Я новичок в программировании на питоне, может быть, это проблема с некоторой переменной пути?

PS. Моя текущая настройка: Python 3.5 на anaconda3 на Linux Mint 18.

+1

вы можете сделать 'питоном -c" import deepwalk "из папки, не связанной с репо? (скажем, в вашей домашней папке)? Если это работает (т. Е. Не говорит ни одного модуля с именем «deepwalk», то, возможно, попробуйте изменить строку на 'from deepwalk.skipgram import Skipgram'? Если не что-то не так с установкой. BTW: Мне обычно нравится использовать' python setup. py develop', поэтому я могу изменить код на лету. – Erotemic

+0

Спасибо, это работает. Я исключил возможность ошибки в этом коде ... – user4134164

+0

Я думал об этом, и причина связана с абсолютным импортом. https: // www.python.org/dev/peps/pep-0328/ – Erotemic

ответ

1

Я согласен с @erotemic, кажется, что линия 16 в основной .py должен быть изменен на:

from deepwalk.skipgram import Skipgram 

вы можете увидеть расхождение в импорте, если вы обратите внимание, что graph.py и walks.py находятся в той же папке, skipgram.py, но граф и прогулки импортируются как это:

from deepwalk import graph 
from deepwalk import walks as serialized_walks 
Смежные вопросы