要将gtk-2.0添加到我的virtualenv中,我执行了以下操作:
$ virtualenv --no-site-packages --python=/usr/bin/python2.6 myvirtualenv
$ cd myvirtualenv
$ source bin/activate
$ cd lib/python2.6/
$ ln -s /usr/lib/pymodules/python2.6/gtk-2.0/
Run Code Online (Sandbox Code Playgroud)
现在在Python解释器中,当我输入gtk时,它说:没有名为gtk的模块.当我用sudo启动解释器时,它可以工作.
有什么理由我需要使用sudo并且有办法防止它吗?
更新:
忘了提到cairo和pygtk工作,但它不是我需要的那个.
Update2:
这里的目录显示我并不疯狂.
http://www.friendly-stranger.com/pictures/symlink.jpg
我看过这个,并尝试了以下代码:
ln -s /usr/lib/python2.7/dist-packages/pygtk.pth tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gobject tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gtk-2.0 tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/pygtk.pth tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/glib tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gi tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/pygtkcompat tools/python_2_7_9/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)
,但import glib还是import gi仍然会产生错误:
yba@ubuntu:~/Documents/XXX/tools$ source python_2_7_9/bin/activate
(python_2_7_9) yba@ubuntu:~/Documents/XXX/tools$ python
Python 2.7.9 (default, Aug 29 2016, 16:04:36)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import glib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/yba/Documents/XXX/tools/python_2_7_9/lib/python2.7/dist-packages/glib/__init__.py", …Run Code Online (Sandbox Code Playgroud)