Domanda

Sto cercando di installare PySide v0.3.1 in Mac OS X, per lo sviluppo di Qt in python.

Come un pre-requisito, ho installato CMake e la < a href = "http://qt.nokia.com/downloads" rel = "nofollow noreferrer"> Qt SDK .

Ho passato con la documentazione e venire con il seguente script di installazione:

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

Ora, non so se questo script di installazione è ok, ma a quanto pare tutto funziona bene. Ogni componente (apiextractor, generatorrunner, shiboken, PySide-qt e PySide-tools) viene compilato nella propria directory.

Il problema è che io non capisco come PySide entra nell'ambiente pitone del sistema. In realtà, quando inizio un guscio di pitone, non riesco a importare PySide:

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

Nota: Sono consapevole del Installazione PySide - OSX domanda, ma questa domanda non è rilevante più, perché si tratta di una specifica una dipendenza da librerie Boost, ma con la versione 0.3.0 PySide spostato da un codice sorgente Boost base ad uno CPython.

È stato utile?

Soluzione

Non ho alcun MacOS esperienza, ma supponendo che è simile a qualsiasi * nix, andiamo:

A proposito dello script: Non è forse manca un po 'di "make, make install" comandi? La versione che hai postato basta eseguire CMake a configure la compilazione. Anche per testare, ho impostato -DCMAKE_INSTALL_PREFIX = per tutti i moduli. In questo modo tutto è installato nello stesso posto e CMake si prende cura di loro di trovare per me, fino a quando ho usato lo stesso prefisso di installazione per ciascuno di essi. La struttura della directory nello script è piuttosto complicato e mix di generazione e di origine directory.

A proposito di trovare PySide: una volta che tutto sia correttamente compilato ed installato, la directory in cui è stato installato nella directory "PySide" deve essere disponibile nella variabile PYTHONPATH. Nell'esempio che segue,

Ecco una versione semplice di uno script di build (opere su 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

Esegui e aspettare un po '(Qt è abbastanza grande). :)

Questo script scaricherà tutti i pacchetti in / tmp / PySide-build, costruire ciascuno nella propria directory "costruire" e installare tutto in / tmp / sandbox. Poi, ho dovuto set PYTHONPATH per /tmp/sandbox/lib/python2.6/site-packages e PySide funzionato bene.

Altri suggerimenti

In risposta al post originale ...

Che lo script avrebbe fatto è generare i file di compilazione necessarie per costruire le associazioni PySide, ma non avrebbe fatto la costruzione stessa. Per fare la build si avresti bisogno di eseguire un 'make', poi un 'make install' in ciascuna delle directory di compilazione.


Ho ottenuto più del modo attraverso ottenere PySide 0.3.1 installato e funzionante su Mac (SnowLeopard 10.6.3), ma di mattina appeso sul gradino compilazione finale. Il mio script è un po 'meno semplice di quanto la tua, ma in sostanza simile.

Ho eseguito in e lavorato su una serie di problemi per arrivare alla compilazione finale e spero che posso aiutare alcune persone con le soluzioni / soluzioni alternative che ho inventato. Inoltre, forse insieme riusciamo a capire come ottenere attraverso il passo finale.

ho intenzione di includere lo script di build che sto usando, e il registro dei cambiamenti ho dovuto fare nella distro per farlo funzionare. Ma in primo luogo, il passo che mi sono bloccato su ... soprattutto, non capisco il messaggio di errore e il file richiesto non sembra esistere ...

Spero che questo sostegno mossa aiuto sarà per la mac lungo ...

non posso postare questo direttamente sul stack overflow dalla sua troppo a lungo, ecco il link al post sulla mailing list oltre a PySide.

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

Mentre è un stato paio di mesi da quando questa domanda è stato chiesto in origine mi sono imbattuto in repo ufficiale sceneggiatura PySide accumulo a:

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

Il README copre il processo di compilazione:

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

Sembra essere abbastanza automatico con la mia unica avvertenza finora è che si tira giù libxslt via birra - non posso dire autorevolmente se libxslt fornito con Snow Leopard o no - ma è sicuramente in Lion per impostazione predefinita.

A quanto pare l'unico manuale di installazione passo sta mettendo CMake sul sistema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top