Python AttributeError: у объекта 'module' нет атрибута 'init' - PullRequest
2 голосов
/ 12 августа 2011

Я запустил простой файл Python:

from livewires import games

games.init(screen_width = 640, screen_height = 480, fps = 50)

games.screen.mainloop()

Когда я запускаю это в режиме IDLE, я получаю сообщение об ошибке, напечатанное в заголовке.Я скопировал и вставил этот код из книги.Я на ранних стадиях новичка, поэтому я мало что знаю.Я вполне уверен, что правильно установил livewires, так как уже запускал другие программы с его модулями.(черт возьми, я знаю, что это, вероятно, не совсем правильная терминология, извините.) Я не совсем ищу способ исправить это (хотя это тоже было бы неплохо) Я просто надеюсь, что кто-то может объяснитьименно в чем проблема.Я скопировал код из книги, поэтому я не понимаю, что я сделал не так.Я на 100% уверен, что опечаток тоже нет.

Ответы [ 4 ]

3 голосов
/ 12 августа 2011

Что ж, по поиску, кажется, это веб-сайт livewires: Домашняя страница Livewires , где можно скачать их пакет livewires.

Также, некоторый код из этого: Глава 11 выглядит так, как он выложил здесь («The Pizza Panic Game»).

Загрузка и распаковка livewires показывает, что в игровом модуле действительно нет функции init (как уже упоминалось в комментариях).

Либо в этой книге есть нерабочие примеры (сомнительно, учитывая глубину, с которой он объясняет этот пример);или пакет livewires изменился с момента написания книги до (гораздо более вероятно).

На сайте livewires есть и другие примеры, с которыми, я думаю, вы добьетесь гораздо большего успеха.
Я бы порекомендовал вам отказаться от книги, поскольку, скорее всего, вы будете продолжать сталкиваться с такими препятствиями,Поиски в Google приведут к появлению ряда других бесплатных учебных пособий по Python, которые будут более современными и простыми для понимания.

На этой странице есть несколько ссылок для начинающих: Руководство для начинающих

2 голосов
/ 05 июня 2012

Более старую версию livewires, которая работает с кодом из «Python Programming for Absolute Beginner», можно загрузить с веб-сайта книги-компаньона:

http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

1 голос
/ 12 февраля 2012

Я только начал с той же самой книги, Python Programming Third Ed. Майкл Доусон, и столкнулся с той же проблемой. С момента написания книги она изменилась.

Если вы все еще хотите создать окно, вот код, который я использовал, и он работает:

from livewires import games

#This is the code M. Dawson has in the book
#games.init(screen_width = 640, screen_height = 480, fps = 50)
#games.screen.mainloop()

my_screen = games.Screen(width = 640, height = 480)
my_screen.mainloop(fps = 50)

Экран теперь обрабатывается как объект, для которого создается экземпляр. Класс Screen больше не принимает fps в своем конструкторе, теперь передает этот fps в метод mainloop . Если вы не передадите fps в метод mainloop , по умолчанию будет установлено значение 50.

0 голосов
/ 25 мая 2013

У меня была такая же проблема, когда я скачал код с сайта slejdops, на который он ссылался. Похоже, создатель этого открыт для идеи получить это так, потому что они всегда держат этот материал на замке с учебниками. Это делает это и хорошо, и законно. :)

Так иди сюда. Удачи и удачи http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

...