Python:手动安装后未找到模块

Python:手动安装后未找到模块

我最近更新了 Ubuntu 的最新版本,13.04 和 Python 2.7.4。从那时起,我在导入模块时遇到了问题gobject,不知道该怎么做才能修复它。我想使用 dreampie,但它目前在启动时失败,并出现下面的 ImportError。以下是更多详细信息:

kiri:/home/kiri% uname -a
Linux megfigyelokocsi-2 3.8.0-17-generic #27-Ubuntu SMP Sun Apr 7 19:39:35 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
kiri:/home/kiri% sudo apt-get install python-gtk2 python-gobject python-gobject-2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-gobject-2 is already the newest version.
python-gobject is already the newest version.
python-gtk2 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
kiri:/home/kiri% python
Python 2.7.4 (default, Apr  9 2013, 19:58:39) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gobject
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named gobject

我之前也尝试过从源代码安装 dreampie:

git clone git://github.com/noamraph/dreampie.git dreampie
cd dreampie
sudo python setup.py install

安装成功了,但是没用,怎么让python识别gobject模块啊?

编辑:该模块确实存在于以下路径,但导入仍然不起作用:

/usr/lib/python2.7/dist-packages/gobject/

编辑2:我已经尝试修复可能已损坏的 Python 安装(但没有成功):

sudo zsh
apt-get remove --purge python2.7-minimal
apt-get remove --purge python2.7
apt-get autoremove
apt-get install python2.7-minimal
apt-get install python2.7

还尝试升级我的发行版,但它说一切都是最新的:

sudo zsh
apt-get clean && apt-get update
apt-get dist-upgrade
apt-get upgrade

编辑3:系统路径:

kiri:/home/kiri% python -c "import sys; print sys.path"    
['', '/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']

答案1

检查 sys.path 后,我意识到解释器是从错误的位置(/usr/local/bin而不是/usr/bin/)加载的,因此我执行以下操作:

sudo rm -rf /usr/local/bin/python*

现在它工作正常了!之前我尝试从源码包构建和安装 python(成功了),但它似乎将其二进制文件放在了 Ubuntu 不友好的位置。问题根源在于变量/usr/local/bin前面的。/usr/binPATH

答案2

GObject 的旧静态绑定位于python-gobject-2包中。

应该存在以下路径:/usr/lib/python2.7/dist-packages/gobject/

答案3

Python 找不到模块的另一个原因是使用了错误的 Python 版本。我知道这不是 OP 的情况,但其他人找到这个问题时可能就是这种情况。

如果您的脚本找不到刚刚安装的包,请检查它是否正在使用 Python 3 运行。如果是这种情况,您需要安装该包的 Python 3 版本,例如python3-gobject

答案4

我可能完全错了,但我有预感你应该使用from gi.repository import GObject

相关内容