LINUX.ORG.RU

[python][weird] Sonata

 


0

0

Всегда пользовался ncmpcpp, но тут понадобилось по-быстрому отредактировать тэги. Вспомнил, что есть sonata, запускаю...

$ sonata
Traceback (most recent call last):
  File "/usr/bin/sonata", line 47, in <module>
    app = sonata.Base()
AttributeError: 'module' object has no attribute 'Base'

Твёрдо помню, что она у меня всегда работала, ну да ладно... На всякий случай проверяю...

$ python
Python 2.5.2 (r252:60911, Jul 31 2008, 17:31:22) 
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sonata
>>> sonata
<module 'sonata' from '/usr/lib/python2.5/site-packages/sonata/__init__.pyc'>
>>> hasattr(sonata, "Base")
False

Ну а дальше:

$ grep -l Base /usr/lib/python2.5/site-packages/sonata/*
/usr/lib/python2.5/site-packages/sonata/main.py
/usr/lib/python2.5/site-packages/sonata/main.pyc

$ grep Base /usr/lib/python2.5/site-packages/sonata/main.py
class Base:
	base = Base()
	class BaseDBus(dbus.service.Object, Base):
			Base.__init__(self, window, sugar)

И ступор. Вопрос к общественности: как так?


wyldrodney@desktop ~ $ grep Base /usr/lib/python2.5/site-packages/sonata/main.py
class Base:
	base = Base()
	class BaseDBus(dbus.service.Object, Base):
			Base.__init__(self, window, sugar)
wyldrodney@desktop ~ $ 

Обновись. У меня всё рабтает. Sonata 1.5.3. Джента.

wyldrodney
()
Ответ на: комментарий от wyldrodney

Да решение проблемы и так было вполне очевидно, меня больше интересует что это за неведомая фигня произошла.

narayan
() автор топика
Ответ на: комментарий от fenris

> Питон 2.5 в свежей бубунте сменили на 2.6, а соната, видать, старая осталась.

У меня 8.04

Да и вот эта строчка:

Python 2.5.2 (r252:60911, Jul 31 2008, 17:31:22)

какбе намекает

narayan
() автор топика
Ответ на: комментарий от fenris

*посмотревши на бэктрейс и вывод команд* Или не так. В общем в миграции на новую версию дело, видимо.

fenris ★★★★★
()
Ответ на: комментарий от x3al

> ncmpcpp умеет по-быстрому редактировать теги.

Изменять какое-либо поле одновременно у нескольких треков и автоматически заполнять поле track к сожалению не умеет.

narayan
() автор топика
Ответ на: комментарий от gotf

> Тебе скриншот выслать, или на слово поверишь?

Я в целях повышения образованности спросил, вообще-то :) Я просто на него смотрел года 3 назад, тогда он умел только 2.3 в UTF-16

undertaker ★★
()

Ну очевидно же, класс Base объявлен в модуле sonata.main, а ты его ищешь в sonata.__init__, и /usr/bin/sonata, видимо, тоже. У тебя /usr/bin/sonata не синхронна /usr/lib/python2.5/site-packages/sonata, в смысле они, похоже, из разных версий.

anonymous4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.