我在“virtualenv”中使用PyGTK时遇到了一些奇怪的问题。gtk不能在我的虚拟环境中导入,而可以在我的全局python安装中导入。(我上周没有遇到这个特定的问题,猜测某些软件更新导致了问题。)
有没有一个好的方法来解决这个问题?
在这里显示:全局导入gtk,
tom@zeppelin:~$ python
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> gtk
<module 'gtk' from '/usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.pyc'>
然后无法导入gtk,
tom@zeppelin:~$ workon py27
(py27)tom@zeppelin:~$ python
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gtk
很遗憾,这破坏了我的ipython --pylab环境:http://pastebin.com/mM0ur7Hc 更新: 我通过添加符号链接来修复它,如grepic /此线程所建议的:Python: virtualenv - gtk-2.0 有一个小区别,即我的“cairo”包位于
/usr/lib/pymodules/python2.7/cairo/
而不是/usr/lib/python2.7/dist-packages/cairo
.第二次更新: 我还发现将以下行添加到我的
venv/bin/activate
中非常有用:export PYTHONPATH=$PYTHONPATH:/home/tom/.virtualenvs/py27/lib/python2.7/dist-packages
export PYTHONPATH=$PYTHONPATH:/home/tom/.virtualenvs/py27/lib/python2.7/dist-packages/gtk-2.0
export PYTHONPATH=$PYTHONPATH:/usr/lib/pymodules/python2.7/gtk-2.0
我怀疑其中一个或多个步骤是不必要的,但我已经折腾了很长时间,决定停止调查——我的设置现在可以正常工作,所以我很满意。
问题已解决!谢谢大家。
sys.path
的输出是什么? - iMom0