Question

Je suis en train d'installer PySide v0.3.1 sous Mac OS X, pour le développement Qt en python.

En tant que condition préalable, je l'ai installé CMake et < a href = "http://qt.nokia.com/downloads" rel = "nofollow noreferrer"> Qt SDK .

Je suis passé par la 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 bien. Chaque composant (apiextractor, generatorrunner, shiboken, pyside-qt et pyside-outils) compilés dans son obtient propre répertoire.

Le problème est que je ne comprends pas comment PySide pénètre dans l'environnement de 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 Installation PySide - la question de Mac OS X, mais cette question n'est pas pertinente plus, parce qu'il est d'un particulier une dépendance sur les bibliothèques Boost, mais avec la version 0.3.0 PySide est passé d'un code source à base de Boost à un CPython.

Était-ce utile?

La solution

Je n'ai aucune expérience de Mac OS, mais en supposant qu'il est semblable à une * nix, allons-y:

A propos du script: est-il pas manque un peu "make, make install" commandes? La version que vous Déposée courir CMake configure la construction. Aussi pour tester, je mis -DCMAKE_INSTALL_PREFIX = pour tous les modules. Que tout est installé dans façon au même endroit et CMake prend soin de les trouver pour moi, aussi longtemps que je le même préfixe d'installation pour chacun. La mise en page du répertoire dans votre script est assez compliqué et mélanges construction et répertoires source.

A propos de la recherche 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 construction (travaux 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-construction, construire chacun dans son propre répertoire « build » et installer tout dans / tmp / bac à sable. Ensuite, je devais juste ensemble PYTHONPATH à /tmp/sandbox/lib/python2.6/site-packages et PySide a bien fonctionné.

Autres conseils

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 ne se serait pas fait la construction elle-même. Pour ce faire, la construction elle-même vous auriez besoin d'exécuter un « make », puis un « make install » dans chacun des répertoires de construction.


Je suis devenu plus de la voie grâce à obtenir pyside 0.3.1 et en cours d'exécution sur le Mac (SnowLeopard 10.6.3), mais je suis accroché sur l'étape de la compilation finale. Mon script est un peu moins simple que le vôtre, mais en substance similaire.

J'ai couru dans et travaillé autour d'un certain nombre de problèmes pour se rendre à la compilation finale, et espère que je peux aider certaines personnes ainsi que les solutions / solutions de contournement que j'ai conçu. , Peut-être que nous pouvons collectivement aussi comprendre comment passer à travers l'étape finale.

Je vais inclure le script de compilation que j'utilise, et le journal des changements que je devais faire dans la distro pour le faire fonctionner. Mais d'abord, l'étape que je suis coincé sur ... surtout, je ne comprends pas le message d'erreur et le fichier demandé ne semble pas exister ...

J'espère que cette aide se déplacer soutien au mac long ...

Je ne peux pas poster directement sur ce débordement de pile depuis son trop long, est ici le lien vers le poste sur la liste de diffusion sur au pyside.

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

Bien qu'il soit un mois ou deux été depuis cette question, on m'a demandé d'abord couru à travers la prise en pension officielle script de construction de PySide à:

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

Le README couvre le processus de construction:

http://qt.gitorious.org/pyside/buildscripts/blobs/ maître / README

Il semble être assez automatique avec ma seule mise en garde étant à ce jour qu'il tire vers le bas libxslt par infusion - Je ne peux pas dire si autoritairement libxslt livré avec Snow Leopard ou non - mais il est certainement dans Lion par défaut.

Apparemment le seul manuel d'installation étape met CMake sur votre système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top