2016-08-14 8 views
7

Я беру курс ML в Coursera, и я установил GraphLab Create и ipython notebook. Я новичок в ML и python.AttributeError: объект 'module' не имеет атрибута 'SFrame'

Я получаю следующее сообщение об ошибке,

import graphlab 
sf = graphlab.SFrame('people-example.csv') 

AttributeError Traceback (most recent call last) in()

----> 1 sf = graphlab.SFrame('people-example.csv')

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

Как исправить эту ошибку? У меня есть люди-example.csv в правильном пути и не орфографическую ошибку на SFrame Любая помощь в значительной степени оценил. Спасибо.

+2

У вас, скорее всего, есть файл под названием 'graphlab.py'. Переименуйте его и удалите связанный с ним файл .pyc и повторите попытку. – bernie

+0

У меня нет файлов с именем graphlab.py.Thanks! – Lotus

+0

Спасибо, bernie, это была проблема, которая у меня была, хотя я прочитал ваш комментарий после того, как разрешил ее и пришел сюда, чтобы опубликовать решение и нашел ваш совет. – mastDrinkNimbuPani

ответ

2

Убедитесь, что библиотека graphlab обновляется и работает с текущей версией Python. Изменения в встроенных библиотеках от python от 2x до 3x могут вызвать такие проблемы, как эта.

+0

Большое спасибо. Впервые у меня появилась ошибка, когда я запустил import graphlab, указав, что мне нужно предоставить разрешение на запись в папку с графиком и запустить graphlab.get_dependencies(). Запустив эту функцию, вы соглашаетесь на следующие лицензии. * libstdC++: https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html * xz: http: //git.tukani.org/? P = xz.git Я просто снял флажок только для чтения вариант для папки graphlab. Я попытался запустить import graphlab и не было ошибок. Но я получал ошибку атрибута для следующего; sf = graphlab.SFrame.read_csv ('people-example.csv') – Lotus

+0

Исправить было просто. Мне нужно было запустить graphlab.get_dependencies(). У меня было следующее: загрузка xz извлечение xz, и мне пришлось закрыть и перезапустите ipython. Everthing найти сейчас. Оцените все свои ответы. Спасибо! – Lotus

+0

Не беспокойтесь. Я предлагаю вам ответить на ваш собственный вопрос, а затем пометить его как действительный ответ, чтобы он не появлялся на невостребованных. (Мой английский сосет сегодня). – Saelyth

0

Изменить его:

sf = graphlab.SFrame.read_csv('people-example.csv') 
+0

Спасибо. Я изменил на sf = graphlab.SFrame.read_csv ('people-example.csv') и по-прежнему получал ту же ошибку. ------------------------------------------------- -------------------------- AttributeError Traceback (последний последний вызов) in () ----> 1 sf = graphlab.SFrame.read_csv ('people-example.csv') AttributeError: объект 'module' не имеет атрибута 'SFrame' – Lotus

1

Вам необходимо перезапустить ядро ​​ipython на вашем ноутбуке iPython/Jupyter для графического отображения, чтобы увидеть зависимости в правильных местах.

опции меню:

Kernel > Restart

и попробуйте еще раз. Работал для меня.

17

В вашем ноутбуке iPython/Jupyter выполните следующие шаги в этом порядке.

  1. Это будет загружать и устанавливать зависимости. graphlab.get_dependencies()
  2. Restart Ядро: Kernel > Restart

  3. Теперь импортируйте graphlab: import graphlab

  4. sf = graphlab.SFrame('people-example.csv')

Надеется, что это помогает. Ура!

+0

Я запустил этот 'graphlab.get_dependencies()' в записной книжке, но получил проблему. 'NameError Traceback (самый последний вызов последнего) в () 1 #import graphlab ----> 2 graphlab.get_dependencies() NameError: имя 'graphlab' не defined' – Sonal

1

Во-первых, вы должны запустить:

import graphlab 
graphlab.product_key.set_product_key('your product key here') 

где product_key это ключ который вы получили в вашей электронной почте после регистрации на turi.com с учетными данными Coursera.

После этой операции все будет работать нормально.

-2

ОК У меня была такая же проблема сегодня, и никто не может мне помочь ... но я, наконец, нашел решение этой проблемы .... сначала, когда вы пишете код, убедитесь, что какая-то важная вещь 1- s f в sframe должен быть капиталом 2 - самое главное, когда вы пишете people-example.csv пишите первые 4 буквы и нажмите ((коснитесь)), он продолжит слово. и здесь вы все в порядке :)