【问题标题】:How to install PySide v0.3.1 on Mac OS X?如何在 Mac OS X 上安装 PySide v0.3.1?
【发布时间】:2011-02-22 06:03:41
【问题描述】:

我正在尝试在 Mac OS X 中安装 PySide v0.3.1,以便在 python 中进行 Qt 开发。

作为先决条件,我已经安装了CMakeQt SDK

我翻遍了documentation,想出了如下安装脚本:

export PYSIDE_BASE_DIR="<my_dir>"

export APIEXTRACTOR_DIR="$PYSIDE_BASE_DIR/apiextractor-0.5.1"
export GENERATORRUNNER_DIR="$PYSIDE_BASE_DIR/generatorrunner-0.4.2"
export SHIBOKEN_DIR="$PYSIDE_BASE_DIR/shiboken-0.3.1"
export PYSIDE_DIR="$PYSIDE_BASE_DIR/pyside-qt4.6+0.3.1"
export PYSIDE_TOOLS_DIR="$PYSIDE_BASE_DIR/pyside-tools-0.1.3"

pushd .

cd $APIEXTRACTOR_DIR
cmake . 

cd $GENERATORRUNNER_DIR
cmake -DApiExtractor_DIR=$APIEXTRACTOR_DIR .

cd $SHIBOKEN_DIR
cmake -DApiExtractor_DIR=$APIEXTRACTOR_DIR -DGeneratorRunner_DIR=$GENERATORRUNNER_DIR .

cd $PYSIDE_DIR
cmake -DShiboken_DIR=$SHIBOKEN_DIR/libshiboken -DGENERATOR=$GENERATORRUNNER_DIR .

cd $PYSIDE_TOOLS_DIR
cmake .

popd

现在,我不知道这个安装脚本是否正常,但显然一切正常。每个组件(apiextractor、generatorrunner、shiboken、pyside-qt 和 pyside-tools)都被编译到自己的目录中。

问题是我不太明白 PySide 是如何进入系统的 python 环境的。事实上,当我启动一个 python shell 时,我无法导入 PySide:

>>> import PySide
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PySide

注意:我知道Installing PySide - OSX 问题,但该问题不再相关,因为它是关于对 Boost 库的特定依赖,但版本 0.3.0 PySide 从基于 Boost 的源代码移动到 CPython 的。

【问题讨论】:

    标签: python macos qt pyside


    【解决方案1】:

    我没有任何 MacOS 经验,但假设它类似于任何 *nix,让我们开始吧:

    关于脚本:是不是缺少一些“make, make install”命令?您发布的版本只是运行 cmake 来配置构建。同样为了测试,我为所有模块设置了 -DCMAKE_INSTALL_PREFIX=。这样,所有东西都安装在同一个地方,只要我为每一个使用相同的安装前缀,CMake 就会为我找到它们。脚本中的目录布局相当复杂,混合了构建目录和源目录。

    关于查找 PySide:一旦所有内容都正确编译和安装,安装“PySide”目录的目录必须在 PYTHONPATH 变量中可用。在下面的示例中,

    这是一个简单版本的构建脚本(适用于 Ubuntu):

    #!/bin/bash
    
    BUILD_ROOT=/tmp/pyside-build
    INSTALL_PREFIX=/tmp/sandbox
    
    function build_module {
        cd $BUILD_ROOT
        echo Cloning project $1 from url $2
        git clone --depth 1 $2 $BUILD_ROOT/$1
    
        BUILD_DIR=$BUILD_ROOT/$1/build
        mkdir -p $BUILD_DIR
        cd $BUILD_DIR
    
        echo Configuring $1 build.
        cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ..
    
        echo Configured $1. Starting build.
        make LD_LIBRARY_PATH=$INSTALL_PREFIX/lib
    
        echo Built $1. Installing.
        make install
        echo Successfully built and installed $1
    }
    
    rm -rf $BUILD_ROOT
    mkdir -p $BUILD_ROOT
    build_module apiextractor git://gitorious.org/pyside/apiextractor.git
    build_module generatorrunner git://gitorious.org/pyside/generatorrunner.git
    build_module shiboken git://gitorious.org/pyside/shiboken.git
    build_module pyside-shiboken git://gitorious.org/pyside/pyside-shiboken.git
    

    运行它并等待一段时间(Qt 相当大)。 :)

    此脚本会将所有软件包下载到 /tmp/pyside-build,在其自己的“build”目录中构建每个软件包,并将所有内容安装到 /tmp/sandbox。然后,我只需将 PYTHONPATH 设置为 /tmp/sandbox/lib/python2.6/site-packages 并且 PySide 工作正常。

    【讨论】:

    • 我没有让它工作,因为在构建过程中有几个错误。在我看来,这是生活在边缘的代价(git 最新版本)。我将尝试使用官方 0.3.1 版本。但无论如何,你的方法是完全有意义的。我只是希望 PySide 官方文档有这种信息。非常感谢:-)
    • 我使用两个命令将它安装在带有 MacPorts 的 Mac OS X Lion 10.7.4 上:sudo port install py27-pyside && sudo port install py27-pyside-tools。但是,我遇到了this problem
    【解决方案2】:

    回复原帖...

    您的脚本会生成必要的构建文件来构建 pyside 绑定,但它不会自己完成构建。要自行构建,您需要执行“make”,然后在每个构建目录中执行“make install”。


    我已经大部分在 Mac (SnowLeopard 10.6.3) 上启动并运行 pyside 0.3.1,但我在最后的编译步骤上挂了。我的脚本没有你的那么简单,但本质上是相似的。

    为了最终编译,我遇到并解决了许多问题,我希望我可以帮助一些人以及我设计的解决方案/解决方法。另外,也许我们可以一起弄清楚如何通过最后一步。

    我将包含我正在使用的构建脚本,以及我必须在发行版中进行更改以使其运行的日志。但是首先,我卡住的那一步……主要是我看不懂错误信息,而且请求的文件似乎不存在……

    我希望这将有助于推动对 mac 的支持...

    我不能直接在堆栈溢出上发布它,因为它太长了,所以这里是 pyside 邮件列表上帖子的链接。

    http://lists.openbossa.org/pipermail/pyside/2010-June/000812.html

    【讨论】:

      【解决方案3】:

      虽然距离最初提出这个问题已有几个月的时间,但我在以下位置遇到了官方 PySide 构建脚本存储库:

      http://qt.gitorious.org/pyside/buildscripts

      自述文件涵盖了构建过程:

      http://qt.gitorious.org/pyside/buildscripts/blobs/master/README

      它似乎是相当自动的,到目前为止我唯一需要注意的是它通过 brew 拉下 libxslt - 我不能权威地说 libxslt 是否与 Snow Leopard 一起提供 - 但默认情况下它肯定是在 Lion 中。

      似乎唯一的手动安装步骤是将 cmake 放入您的系统。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-15
        • 2014-11-29
        • 2011-04-10
        • 2012-07-27
        • 2012-03-01
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多