我最近在使用python进行开发时一直在使用virtualenv.我喜欢使用--no-site-packages选项的隔离开发环境的想法,但在开发PyGTK应用程序时这样做可能有点棘手.默认情况下,PyGTK模块安装在Ubuntu上,我想让virtualenv(使用--no-site-packages)知道位于系统其他位置的特定模块.
最好的方法是什么?或者我应该吮吸它并删除--no-site-packages选项?
要将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