Ошибка при создании пакета .deb с Быстро: setup.py install_egg_info не удалось

Я написал небольшую программу и сейчас пытаюсь сделать из нее пакет .deb. Когда я запускаю quickly --verbose package, я получаю это:

quickly --verbose package 
/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk
setup.py install_egg_info failed
An error has occurred when creating debian packaging
ERROR: can't create or update ubuntu package
ERROR: package command failed
Aborting

Я прочитал вопрос Джоно Бэкона на сайте разработчика Quickly , и у него была точно такая же проблема, как и у меня, но хотя объяснил, как это исправить, я не понимаю, что я должен делать. Я новичок в Quickly и Python тоже. Что мне нужно сделать?

1
задан 3 August 2012 в 01:07

2 ответа

Я решил его путем создавания нового приложения с тем же именем в другом каталоге и привыкания немногих файлов от старого dir приложения до нового dir приложения:

/old_aap_name/data/ui/* to /new_aap_name/data/ui/*

и также

/old_aap_name/old_app_name/*.py to /new_aap_name/new_app_name/*.py

После того, как этот пакет генерирует без проблем.

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

Спасибо за указание на меня к правильному направлению.

1
ответ дан 3 August 2012 в 01:07

Я считаю, что это означает, что вы используете некоторые элементы, основанные на gtk2, возможно, pygtk, и некоторые элементы, которые являются gtk3 с самоанализом gobject. Эти вещи не смешиваются. Как только вы используете gtk3 и, следовательно, gobject introspection, вы должны оставить все pygtk и gtk2 позади.

Программы, которые быстро создают, использовали pygtk и, следовательно, gtk2, но я считаю, что последние быстрые версии генерируют интроспекцию gtk3 и gobject.

Используемые вами библиотеки могут использовать gtk2 или gtk3. В ответе, который вы упомянули, Jono сказал, что, например, PyNotify использует gtk2. По-видимому, он решил, чтобы одна программа использовала исключительно gtk2, а другая - исключительно gtk3 - думаю, именно это он имел в виду, имея отдельные базы кода.

Что нужно сделать, это выбрать один, вероятно, gtk3 и introspection, и выполнить то, что вам нужно сделать, стараясь использовать только те библиотеки, которые были преобразованы для использования gtk3 и gobject introspection.

0
ответ дан 3 August 2012 в 01:07

Другие вопросы по тегам:

Похожие вопросы: