1

古いソフトウェアを機能させようとしています。これはスタンドアロンのデータベース クライアントであり、そのグラフィカル インターフェイスはpython-gladepython モジュールで記述され、使用/使用されていますgtk

最後に使用したのは 2、3 年前のことで、その当時は箱から出してすぐにインストールできました。さまざまなライブラリのどのバージョンで動作したかはわかりません。

最初は仮想環境で依存関係を分離したかったのですが、そのうちの 2 つはpygtkgobjectであり、Linux で使用してインストールするのは難しいようpipで、同様の名前のグローバルにインストールされたライブラリのかなり汚い混乱になってしまったのではないかと心配しています。

ソフトウェアの元の作成者は、最近 gtk の開発をあまり詳しく追っていないと言い、 を に置き換えることをほのめかしていますが、そうするとimport gtkfrom gi.repository import Gtk; gtk = 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
Segmentation fault (core dumped)

とにかく、どこで入手できるかわかりませんgdk、これも使用されています。

1 つの深刻な問題は、モジュール間の違いが明確にわからないことです: pygtkgtkgi.repository.Gtk.

4

1 に答える 1

0

jkuが言ったように、GTK2 はまだ健在です。適切な依存関係をインストールすると、元のアプリケーションを機能させることができます。依存関係リストをざっと見てみると、(Debian ベースのシステムでは) 次のパッケージをインストールする必要があるように思えます。

  • python2.7 (または任意の Python2.x)
  • python-sqlalchemy
  • python-gtk2
  • python-gobject-2
  • python-lxml
  • python-pysqlite2
  • python-glade2

何かに遭遇したら

ImportError: No module named xxxx

通常、対応する python-xxxx パッケージをインストールすることでこれを解決します。

于 2014-01-26T15:07:41.247 に答える