所以我试图在我的virtualenv(在控制台中)运行一个简单的matplotlib示例.这是代码:
import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724]
plt.plot(radius, area)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是,当我运行这个时,我得到:
ImportError:Gtk*后端需要安装pygtk.
现在,乐趣开始了.我试图pip安装pygtk但它抛出:
********************************************************************
* Building PyGTK using distutils is only supported on windows. *
* To build PyGTK in a supported way, read the INSTALL file. *
********************************************************************
Complete output from command python setup.py egg_info:
********************************************************************
Run Code Online (Sandbox Code Playgroud)
我检查了INSTALL文件并说要试试./configfure; make; make install.然而.我不太确定如何在virtualenv中做到这一点.我在哪里解压缩pygtk的源代码以便安装在virtualenv中.
我最近在使用python进行开发时一直在使用virtualenv.我喜欢使用--no-site-packages选项的隔离开发环境的想法,但在开发PyGTK应用程序时这样做可能有点棘手.默认情况下,PyGTK模块安装在Ubuntu上,我想让virtualenv(使用--no-site-packages)知道位于系统其他位置的特定模块.
最好的方法是什么?或者我应该吮吸它并删除--no-site-packages选项?
我在"virtualenv"中遇到了PyGTK的一些奇怪问题.gtk不会导入我的virtualenv,而它在我的全局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'>
Run Code Online (Sandbox Code Playgroud)
然后无法导入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
Run Code Online (Sandbox Code Playgroud)
不幸的是,这破坏了我的ipython …