0

我目前正在尝试找到一个好的解决方案,以便在 zc.buildout 中使用 PySide。

我想知道是否有人知道在 zc.buildout 中构建/安装 PySide 的良好配方组合。到目前为止我尝试过的解决方案和食谱,要么不:

  • 设置查找共享库的路径,例如rpathLD_LIBRARY_PATH
  • 不要运行pyside_postinstall.py脚本,它设置正确rpath的查找共享库
  • 环境无法为我提供路径变量,我可以将其传递给一些配方以运行pyside_postinstall.py

使其工作的唯一方法是在您的 virtualenv 中使用 easy_install 简单地安装它。太好了,但如果我能在扩建中做到这一点,我很感兴趣。也许除了创建一个新配方之外别无他法:(

4

2 回答 2

1

我创建了pyside-buildout项目,它下载、构建发行版 egg 并配置 pyside,因此它已安装并可在 buildout 的 egg 目录中使用。

它在 Linux (Ubuntu 12.04LTS) 和 Windows 7 64 位上进行了测试。

建议使用最新版本的 virtualenv。

于 2013-09-19T13:36:05.403 回答
0

我想回答我自己的问题:您所需要的只是构建中的两个部分:

[buildout]
parts = pyside-interpreter
        pyside-postinstall

[pyside-interpreter] 
recipe = zc.recipe.egg 
interpreter = pyside-python
eggs = PySide

[pyside-postinstall] 
recipe = plone.recipe.command
command = ${buildout:directory}/bin/pyside_postinstall.py -install

像往常一样保持 PySide 作为依赖项。第一部分简单地创建所有 PySide 脚本,包括pyside_postinstall.py. 第二部分只是执行脚本并编写rpath. 所有需要 PySide by 的其他脚本都可以像往常一样简单地导入它。注意顺序,如果您添加更多零件,这很重要。

感谢用户rlacko和他最初的 pyside-buildout项目,这让我在 buildout 中找到了两个新选项,它的配方:

  • zc.recipe.egg设置解释器的选项,将创建 PySides 安装后脚本
  • zc.buildout还提供了一个setup选项,允许运行安装脚本。

更新:在某些 Linux 发行版(和 Windows)上,您需要手动编译 PySide 并将其指向 qmake。使用pyside-buildout项目中的额外步骤。

于 2013-09-24T23:37:46.830 回答