如何使用virtualenv安装wxPython

7
我想开始一个新的Python GUI应用程序,决定使用wxPython作为GUI,因为我想要一个多平台的。问题是我想使用virtualenv(带有virtualenvwrapper)来隔离环境,并能够在其他机器上复制它,在那里我将工作,但我无法安装wxPython。我已经通过apt-get在我的ubuntu机器上安装了它,但这不够。我已经在网上搜索了解决方案并找到... 任何帮助将不胜感激。在这个页面http://batok.github.com/virtualenvwxp/中,解释了一种方法来破解virtualenv环境以使用本地安装的wxPython。虽然不是最好的解决方案,但它将是一个好的解决方法。问题在于它是为Mac解释的,我无法在我的ubuntu中使其工作。同时发现了这个页面Installing wxPython in virtualenv under Linux,其中有人提出了类似的问题。我尝试过以这种方式构建wxPython,但没有成功。
最终,我选择了wxPython,因为它是跨平台的,并且我可以在没有许可问题的情况下使用它,但由于我还没有开始,如果有另一个更容易安装的框架,我可以改变主意。
提前致谢
20110925:抱歉回复晚了,感谢你的答复。 我刚刚尝试使用buildout和这里给出的链接来安装wxpython,但我仍然遇到了同样的问题。似乎我需要libgtk2.0-dev包才能编译wxpython...
那么有没有办法在buildout环境中本地安装此软件包?
再次感谢。

当您尝试构建wxPython时,出现了什么构建错误? - Dan Cecile
似乎没有安装GTK+...正在检查GTK+ - 版本 >= 2.0.0...否 ***无法运行GTK+测试程序,正在检查原因... ***测试程序编译或链接失败。请参阅config.log文件以获取发生的确切错误。 - thamurath
3个回答

3
最终我无法解决这个问题。我想创建一个可重复的python环境,包括所有的要求(requirements),使用buildout和/或virtualenv,这样我只需要在任何安装了virtualenv、python和C++编译器的Linux系统上工作即可。 看起来,唯一的方法是使用buildout cmmi recipes下载并构建wxpython和它的所有依赖项。这是一个非常痛苦的过程,而且我现在没有时间。
因此,我决定采用一个变通方法:我将大部分时间都在我的ubuntu笔记本电脑上工作,所以我已经从存储库中安装了wxpython,并使用wx.pth文件将其提供给虚拟环境。
这不是一个好的解决方案,但目前似乎是最好的...所以如果有人知道更好的解决方案,请告诉我。
当我的Python项目更加成熟时,我会再次处理这个问题,可能会尝试困难的方式...
感谢您的答案和评论。

4
如果对其他人来说不是很明显,你的wx.pth文件应该包含到本地安装的wx的路径:echo /usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode > $VIRTUAL_ENV/lib/python2.6/site-packages/wx.pth - mgalgs
1
我最近接到了一个有趣的项目,可能在这里适用:http://www.vagrantup.com/。 - thamurath
我知道发感谢帖不太酷,但是...谢谢mgalgs..你真的帮了我大忙!!!最终,多亏了你的小评论,我终于让它正常工作了!(是的,我点了赞!) - GreenAsJade

2

我最终使用的解决方案是将python安装到我的主系统中:

然后从我的系统python中创建一个符号链接到我的虚拟环境中的wx:

ln -s /usr/lib/python2.7/dist-packages/wxversion.py <virtual_env_path>/lib/python2.7/site-packages/wxversion.py

在我的情况下,虚拟环境的路径名为“fibersim”,例如:

/home/adam/anaconda/envs/fibersim

然后import wx就可以工作了。

这段代码来源于:http://qopml.org/wp-content/uploads/2013/01/README.txt


1

Buildout 允许您安装不同的 部件,其 配方 代码确定了该部分的构建方式。有cmmi 配方可用于使用 Configure/Make/Make-Install (CMMI) 构建东西。您可以使用它来在本地对 buildout 进行 wxPython 构建,然后创建一个 Python 解释器,其中包括那个 wxPython 构建和您自己的 eggs。

有关详细信息,请参见此 博客文章此答案

请注意,zc.recipe.egg 还会安装任何 setuptools/distribute console_scripts 到 buildout 的 bin 目录中。另请参阅 mr.developer,以便自动检出 VCS 中的多个软件包并在同一 buildout 中处理它们。

buildout是我一段时间前在寻找的另一个工具,但它对我来说似乎比pip更复杂...我想我将不得不与那些配方进行斗争...感谢您的评论。 - thamurath
感谢您的回答。我最终尝试了buildout,并按照您发布的博客文章中的说明进行操作。wxpython已经成功下载,但问题仍然存在... - thamurath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接