2010-05-21 62 views
2

我試圖在Mac OS X中安裝PySide v0.3.1,以便在python中進行Qt開發。如何在Mac OS X上安裝PySide v0.3.1?

作爲先決條件,我已經安裝了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殼,我無法導入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。

回答

2

我沒有任何經驗的MacOS但假設它類似於任何* nix中,讓我們去:

關於腳本:是不是缺少一些「使,使安裝」命令?您發佈的版本只需運行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就可以正常工作。

+1

我沒有得到它的工作,因爲在構建過程中有幾個錯誤。在我看來,這是付出生命的代價(git最新版本)。我會用官方的0.3.1版本來試用它。但無論如何,你的方法總是有意義的。我只是希望官方的PySide文檔有這種信息。非常感謝:-) – ivo 2010-05-24 22:15:45

+1

我們將在那裏添加它。 :) – 2010-05-25 13:23:00

+0

我使用兩個命令在Mac OS X Lion 10.7.4上安裝了MacPorts:sudo port install py27-pyside && sudo port install py27-pyside-tools。但是,我碰到[這個問題](http://stackoverflow.com/questions/13901878/how-can-i-make-pyside-uic-find-pyside-module)。 – 2013-02-12 00:22:55

1

在回答原來的職位...

什麼腳本可能做的就是生成所需的構建文件構建pyside綁定,但它不會做了構建本身。爲了構建自己,您需要執行「make」,然後在每個構建目錄中執行「make install」。


我已經得到的方式,通過讓pyside 0.3.1起來和Mac(雪豹10.6.3)上運行,但我掛了最終編譯步驟。我的腳本比你的簡單一點,但本質上相似。

我遇到並解決了一些問題以進行最終編譯,並希望我可以幫助一些人以及我設計的解決方案/解決方法。另外,也許我們可以總結一下如何完成最後一步。

我將包括我正在使用的構建腳本,以及我在發行版中必須使其運行的更改日誌。但首先,我堅持的步驟...主要是,我不明白錯誤消息,並且所請求的文件似乎不存在...

我希望這將有助於移動對mac沿...

我不能直接發佈此堆棧溢出,因爲它太長,所以這裏是鏈接到郵政列表上的帖子在pyside。

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

1

雖然這是一個已經幾個月,因爲這個問題本來是問我在整個官方PySide構建腳本回購跑在:

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

自述涵蓋了構建過程:

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

它似乎是f airly自動與我唯一的警告到目前爲止,它通過brew下拉libxslt - 我不能說權威如果libxslt與雪豹發貨或不 - 但它肯定是在獅子默認情況下。

看似唯一的手動安裝步驟是把cmake放到你的系統上。