2010-05-21 9 views
2

J'essaye d'installer PySide v0.3.1 dans Mac OS X, pour le développement de Qt en python. En tant que pré-requis, j'ai installé CMake et Qt SDK.Comment installer PySide v0.3.1 sur Mac OS X?

Je suis passé par le documentation et venir avec le script d'installation suivant:

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 

Maintenant, je ne sais pas si ce script d'installation est ok, mais apparemment tout fonctionne très bien. Chaque composant (apiextractor, generatorrunner, shiboken, pyside-qt et pyside-tools) est compilé dans son propre répertoire.

Le problème est que je ne comprends pas très bien comment PySide pénètre dans l'environnement python du système. En fait, quand je commence un shell python, je ne peux pas importer PySide:

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

Note: Je suis conscient de la Installing PySide - OSX question, mais cette question n'est plus pertinente, car elle est d'environ une dépendance spécifique sur la Boost bibliothèques, mais avec la version 0.3.0 PySide déplacé d'un code source basé sur Boost à un code CPython.

Répondre

2

Je n'ai aucune expérience MacOS mais en supposant qu'il est semblable à une * nix, Let 's go:

A propos du script: est-il pas un certain manque « make, make install » commandes? La version que vous avez publiée vient de lancer cmake à configurez la build. Aussi pour tester, je définis -DCMAKE_INSTALL_PREFIX = pour tous les modules. De cette façon, tout est installé au même endroit et CMake s'occupe de les trouver pour moi, aussi longtemps que j'ai utilisé le même préfixe d'installation pour chacun d'entre eux. La disposition du répertoire dans votre script est assez compliquée et mélange les répertoires de compilation et de source. A propos de la recherche de PySide: une fois que tout est correctement compilé et installé, le répertoire dans lequel le répertoire "PySide" a été installé doit être disponible dans la variable PYTHONPATH. Dans l'exemple ci-dessous,

Voici une version simple d'un script de compilation (fonctionne sur 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 

Exécuter et attendre un certain temps (Qt est assez grand). :)

Ce script va télécharger tous les paquets dans/tmp/pyside-build, construire chacun dans son propre répertoire "build" et tout installer dans/tmp/sandbox. Ensuite, j'ai juste dû mettre PYTHONPATH dans /tmp/sandbox/lib/python2.6/site-packages et PySide a bien fonctionné.

+1

Je ne l'ai pas fait fonctionner car il y a plusieurs erreurs pendant la construction. Il me semble que c'est le prix à payer pour vivre sur le bord (git dernières révisions). Je vais essayer avec les versions officielles 0.3.1. Mais de toute façon votre approche prend tout son sens. Je souhaite juste que la documentation officielle de PySide ait ce genre d'information. Un grand merci :-) – ivo

+1

Nous allons l'ajouter ici. :) –

+0

J'ai installé ceci sur Mac OS X Lion 10.7.4 avec MacPorts en utilisant deux commandes: sudo port installer py27-pyside && sudo port installer py27-pyside-tools. Cependant, je cours dans [ce problème] (http://stackoverflow.com/questions/13901878/how-can-i-make-pyside-uic-find-pyside-module). –

1

En réponse au message original ...

Qu'est-ce que votre script aurait fait est générer les fichiers de construction nécessaires pour construire les liaisons pyside, mais il n'aurait pas fait la construction elle-même. Pour faire la construction elle-même, vous devez exécuter un 'make', puis un 'make install' dans chacun des répertoires de construction.


Je suis devenu plus du chemin à travers l'obtention pyside 0.3.1 et en cours d'exécution sur le Mac (SnowLeopard 10.6.3), mais je suis accroché à l'étape de la compilation finale. Mon script est un peu moins simple que le vôtre, mais par essence similaire.

J'ai rencontré et travaillé sur un certain nombre de problèmes pour arriver à la compilation finale, et j'espère que je peux aider certaines personnes avec les solutions/solutions de contournement que j'ai conçues. Aussi, peut-être que collectivement, nous pouvons déterminer comment passer à l'étape finale.

Je vais inclure le script de construction que j'utilise, ainsi que le journal des modifications que j'ai dû effectuer dans la distribution pour le faire fonctionner. Mais d'abord, l'étape sur laquelle je suis bloqué ... principalement, je ne comprends pas le message d'erreur, et le fichier demandé ne semble pas exister ...

J'espère que cela aidera à déplacer le support pour le mac le long ...

Je ne peux pas poster ceci directement sur le débordement de la pile car c'est trop long, alors voici le lien vers le post sur la liste de diffusion sur pyside.

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

1

Bien qu'il soit quelques mois été puisque cette question était à l'origine demandé que je courais à travers la PySide construire au repo script officiel:

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

Le README couvre le processus de construction:

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

Il semble être f Airly automatique avec ma seule mise en garde étant jusqu'à présent qu'il tire vers le bas libxslt via brassage - je ne peux pas dire avec autorité si libxslt livré avec Snow Leopard ou non - mais il est certainement dans Lion par défaut.

Apparemment, la seule étape d'installation manuelle consiste à mettre cmake sur votre système.