Pregunta

Estoy tratando de instalar PySide v0.3.1 en Mac OS X, para el desarrollo de Qt en Python.

Como requisito previo, he instalado CMake y el < a href = "http://qt.nokia.com/downloads" rel = "noreferrer nofollow"> Qt SDK .

Me han pasado por el documentación y llegar con la siguiente secuencia de instalación:

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

Ahora, no sé si este script de instalación está bien, pero al parecer todo funciona bien. Cada componente (apiextractor, generatorrunner, shiboken, PySide-qt y PySide-herramientas) se compila en su propio directorio.

El problema es que yo no entiendo muy bien cómo PySide se mete en el medio ambiente pitón del sistema. De hecho, cuando comienzo una cáscara pitón, no puedo importar PySide:

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

Nota: Soy consciente de la Instalación PySide - pregunta OSX , pero esa pregunta no es relevante nunca más, porque se trata de una específica una dependencia en las bibliotecas Boost, pero con la versión 0.3.0 PySide pasó de un código fuente basado Boost a uno CPython.

¿Fue útil?

Solución

No tengo ninguna experiencia MacOS, pero asumiendo que es similar a cualquier * nix, vamos a ir:

Sobre el guión: ¿No es falta algo de "make, make install" comandos? La versión que acaba de ejecutar cmake publicado a configure la construcción. También para probar, me puse -DCMAKE_INSTALL_PREFIX = para todos los módulos. De esta manera todo está instalado en el mismo lugar y CMake se encarga de la búsqueda de ellos para mí, siempre y cuando he utilizado el mismo prefijo de instalación para cada uno. La estructura de directorios en el script es bastante complicado y mezclas de construcción y de la fuente directorios.

Acerca de buscar PySide: una vez que todo está debidamente compilado e instalado, el directorio donde se instaló el directorio "PySide" debe estar disponible en la variable PYTHONPATH. En el siguiente ejemplo,

Aquí hay una versión simple de un script de construcción (obras en 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

Ejecutar y esperar un tiempo (Qt es bastante grande). :)

Este script descargará todos los paquetes en / tmp / PySide-construir, construir cada uno en su propio directorio "build" e instala todo en / tmp / caja de arena. Entonces, sólo tenía que PYTHONPATH conjunto de /tmp/sandbox/lib/python2.6/site-packages y PySide funcionó bien.

Otros consejos

En respuesta al mensaje original ...

Lo que su guión habría hecho es generar los ficheros de construcción necesarios para construir los enlaces PySide, pero no habría hecho la construcción en sí. Para ello la acumulación en sí lo que se necesita para ejecutar un 'make', entonces un 'make install' en cada uno de los directorios de construcción.


He recibido más de la manera a través de conseguir PySide 0.3.1 y se ejecuta en el Mac (SnowLeopard 10.6.3), pero la mañana colgado en el proceso de compilación final. Mi escritura es un poco menos sencilla que la suya, pero en esencia similar.

Me he encontrado y trabajado en torno a una serie de problemas para llegar a la compilación final, y espero que pueda ayudar a algunas personas, junto con las soluciones / Soluciones provisionales he ideado. Además, puede que colectivamente podemos encontrar la manera de conseguir a través de la etapa final.

Me voy a incluir la escritura de la estructura que estoy usando, y el registro de los cambios que tenía que hacer en la distro para ponerlo en marcha. Pero en primer lugar, el paso que estoy atascado en ... sobre todo, no entiendo el mensaje de error y el archivo requerido no parecen existir ...

espero que esto ayudará a apoyar el movimiento para Mac junto ...

No se puede enviar directamente sobre este desbordamiento de pila, ya que es demasiado largo, así que aquí está el enlace a la entrada en la lista de correo de más a PySide.

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

Si bien es un par de meses que esta pregunta se le pidió originalmente me encontré con el repositorio oficial de la escritura PySide acumulación en:

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

El README cubre el proceso de construcción:

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

Parece que es bastante automática con mi única advertencia hasta ahora es que se tira hacia abajo a través de cerveza libxslt - No puedo decir con autoridad si libxslt enviado con Snow Leopard o no - pero definitivamente en León por defecto.

Al parecer, la única instalación manual paso es poner cmake en su sistema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top