我正在尝试开始一个新的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环境中?
再次感谢。
答案 0 :(得分:3)
最后我无法解决这个问题。
我想创建一个可重现的python环境,其中包含使用buildout和/或virtualenv的所有需求,因此我可以在任何只安装了virtualenv,python和C ++编译器的linux系统中工作。
似乎唯一的方法是使用buildout cmmi recipes来下载和构建wxpython及其所有依赖项。这是一种非常痛苦的方式,我现在没时间了。
我决定使用一种解决方法:我大部分时间都在使用我的ubuntu笔记本电脑,所以我从存储库安装了wxpython并使用wx.pth文件使其可用于虚拟环境。 / p>
这不是一个好的解决方案,但到目前为止似乎是最好的......所以,如果有人知道更好的解决方案,请告诉我。
当我的python项目更成熟时,我将再次讨论这个问题,我可能会尝试一下......
感谢您的所有答案和评论。
答案 1 :(得分:2)
我最终使用的解决方案是将python安装到我的主系统:
然后从我的系统python中的wx到我的虚拟环境进行符号链接:
ln -s /usr/lib/python2.7/dist-packages/wxversion.py <virtual_env_path>/lib/python2.7/site-packages/wxversion.py
在我的案例中,路径指向名为&#34; fibersim&#34;的虚拟环境。例如:
/home/adam/anaconda/envs/fibersim
然后import wx
工作
答案 2 :(得分:1)
Buildout允许您安装不同的parts
recipe
代码确定该部件的构建方式。有cmmi配方用于使用Configure / Make / Make-Install(CMMI)构建内容。您可以使用它在本地构建wxPython到buildout,然后创建一个python interpreter,其中包含wxPython的构建以及它自己的路径。
有关详细信息,请参阅此blog post和this answer。
请记住,zc.recipe.egg也会在buildout的bin目录中安装任何setuptools / distribute console_scripts。另请参阅mr.developer来自VCS的automatically checking out multiple packages,并在同一个扩展中处理它们。