2011-08-21 61 views
7

我想开始一个新的python GUI应用程序,我决定使用wxPython作为GUI,因为我想要一个多平台。如何安装wxPython使用virtualenv

问题是我想使用virtualenv(使用virtualenvwrapper)来隔离环境并能够在其他机器上重现它,但我无法安装wxPython。

我有它通过安装在我的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环境?

再次感谢。

+0

当你尝试构建wxPython时,什么是构建错误? –

+0

似乎gtk不存在...检查GTK + - 版本> = 2.0.0 ...否 ***无法运行GTK +测试程序,检查原因... ***测试程序未能编译或链接。请参阅文件config.log,了解发生的 ***确切错误。 – thamurath

回答

3

最后我无法解决这个问题。

我想使用buildout和/或virtualenv创建一个具有所有需求的可重复使用的Python环境,这样我就可以在任何只有virtualenv,python和C++编译器的linux系统中工作。

看来唯一的方法就是使用构建cmmi食谱来下载和构建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

+0

我知道发表感谢并不酷,但是......感谢mgalgs ..这是很有帮助的! _最后,感谢您的小评论,我得到了这个工作! (是的,我upvoted!) – GreenAsJade

1

Buildout允许您安装不同的parts,其recipe代码确定如何构建该零件。有配置/制作/制作安装(CMMI)构建东西的配方cmmi。你可以使用它在本地构建wxPython到build,然后创建一个包含wxPython和你自己的蛋的路径的python interpreter

有关详细信息,请参见blog postthis answer

请记住,zc.recipe.egg也会在build的bin目录中安装任何setuptools /分发console_scripts。来自VCS的也参见mr.developer,并在相同的构建中对它们进行操作。

+0

buildout是我前段时间看到的另一个工具,但它似乎比pip更复杂......我想我将不得不与这些食谱战斗......感谢评论 – thamurath

+0

感谢您的回答。按照您发布的博客条目中的说明,我最终尝试了一次尝试。 wxpython正确下载,但问题仍然存在... – thamurath

2

我结束了使用的解决办法是安装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