【问题标题】:"ImportError: No module named gtk" although it is installed“ImportError:没有名为 gtk 的模块”虽然已安装
【发布时间】:2013-05-31 23:46:02
【问题描述】:

尽管我安装了 python 的 gtk 绑定,但以下代码失败。这是一台 debian 机器,我安装了名为 python-gtk2 的包

>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named gtk

我该如何解决这个问题?

Edit1:根据评论请求:Python 2.7.3rc2(默认,2012 年 5 月 22 日,01:05:47)

Edit2:根据评论请求:

>>> print sys.path
['', '/home/lorb', '/usr/lib/python2.7/dist-packages', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages/SpssClient200', '/usr/local/lib/python2.7/site-packages/spss200']

【问题讨论】:

  • 你运行的是什么版本的 Python?
  • import sys; print sys.path - 它在路上吗?
  • @Simeon: gtk 应该在什么路径上?
  • 只要 gtk 位于 Python 路径上的目录中,这并不重要(除了为了约定)。它是否在 sys.path 列出的目录之一中?它很可能在 dist-packages 或 site-packages 中。
  • 我怎么知道 gtk 在哪里?我是通过 aptitude 安装的

标签: python debian pygtk


【解决方案1】:

如果您使用的不是 Ubuntu 20,请执行此操作:

sudo apt install python-gtk2 libcanberra-gtk-module libcanberra-gtk3-module

如果您使用的是 Ubuntu 20,请执行此操作:

wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb && sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb && sudo apt install --fix-broken && sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb

【讨论】:

  • Ubuntu 20.04 不再为 pygtk 提供任何软件包了吗?
  • 在写这个答案的时候,是的,它没有提供