2016-03-27 4 views
1

Я заметил это во время игры с помощью graph_tool. Некоторые атрибуты модуля кажутся доступными только при запуске из ipython. Простейший пример (example.py)Интересное поведение импорта в ipython

import graph_tool as gt 

g = gt.Graph() 
gt.draw.sfdp_layout(g) 

выполняется без ошибок с использованием IPython run example.y', but from the command line, питона example.py` урожаев

AttributeError: 'module' object has no attribute 'draw' 

же справедливо и для ipython example.py. Я потерял то, что может вызвать это. Я хотел бы получить доступ к модулю рисования, но похоже, что я могу сделать это только через from graph_tool.draw import *. Любая помощь или объяснение будут оценены.

ответ

1

Необходимо импортировать все модули, которые вы используете явно. В вашем случае вам нужно добавить, например. import graph_tool.draw as gt_draw (просто добавить import graph_tool.draw может быть достаточно, но этот код можно считать неочевидным).

1

При импорте граф-инструмент, импортировать его как:

import graph_tool.all as gt 

Это импортирует все модули из граф-инструмента, и если установлены все необходимые вещи, это должно работать для вас.

 Смежные вопросы

  • Нет связанных вопросов^_^