如何在Mac OS X上安装PySide v0.3.1?

时间:2010-05-21 08:00:17

标签: python macos qt pyside

我正在尝试在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的源代码。

3 个答案:

答案 0 :(得分:2)

我没有任何MacOS体验,但假设它与任何* nix相似,那就走吧:

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

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

这是构建脚本的简单版本(适用于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工作正常。

答案 1 :(得分:1)

回答原帖......

您的脚本将完成的是生成必要的构建文件以构建pyside绑定,但它本身不会完成构建。要进行构建本身,您需要在每个构建目录中执行'make',然后执行'make install'。


我已经获得大多数通过在Mac上运行pyside 0.3.1并运行(SnowLeopard 10.6.3),但我在最后的编译步骤中挂了。我的脚本比你的脚本简单一点,但实质上相似。

我已经遇到并解决了许多问题以进入最终编译,我希望我可以帮助一些人以及我设计的解决方案/解决方法。另外,也许我们可以共同弄清楚如何完成最后一步。

我将要包含我正在使用的构建脚本,以及我必须在发行版中进行的更改日志以使其运行。但首先,我坚持的步骤...主要是,我不明白错误信息,并且所请求的文件似乎不存在......

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

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

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

答案 2 :(得分:1)

虽然这个问题最初被问到已经过了几个月,但我在官方的PySide构建脚本回购中遇到了:

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

README涵盖了构建过程:

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

这似乎是相当自动的,我唯一的警告是,它通过brew拉下libxslt - 我不能权威地说libxslt是否与Snow Leopard一起发货 - 但是默认情况下它肯定在Lion中。

看似唯一的手动安装步骤是将cmake放在你的系统上。