我正在尝试在Mac OS X中安装PySide v0.3.1,以便在python中进行Qt开发。
我已经浏览了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的源代码。
答案 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放在你的系统上。