2

PythonでのQt開発のために、Mac OS XにPySide v0.3.1をインストールしようとしています。

前提条件として、CMakeQt SDKをインストールしました。

ドキュメントを読み、次のインストール スクリプトを作成しました。

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

注: PySide のインストール - OSXに関する質問は承知していますが、その質問は、Boost ライブラリへの特定の依存関係に関するものであるため、もはや関係ありませんが、バージョン 0.3.0 では、PySide は Boost ベースのソース コードからCPython 1。

4

3 に答える 3

2

私は MacOS の経験はありませんが、* nix に似ていると仮定して、行きましょう:

スクリプトについて: 「make, make install」コマンドが抜けていませんか? 投稿したバージョンは、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 にダウンロードし、それぞれを独自の「ビルド」ディレクトリにビルドして、すべてを /tmp/sandbox にインストールします。次に、PYTHONPATH を /tmp/sandbox/lib/python2.6/site-packages に設定するだけで、PySide は正常に動作しました。

于 2010-05-22T16:57:29.497 に答える
1

この質問が最初に尋ねられてから数か月が経ちましたが、私は公式のPySideビルドスクリプトリポジトリに出くわしました:

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

READMEは、ビルドプロセスをカバーしています。

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

これまでのところ、醸造によってlibxsltをプルダウンするという私の唯一の注意点はかなり自動化されているようです-libxsltがSnow Leopardに同梱されているかどうかは正式には言えませんが、デフォルトでは間違いなくLionにあります。

どうやら手動インストールの唯一のステップはあなたのシステムにcmakeを置くことです。

于 2011-08-25T08:00:57.127 に答える
1

元の投稿への回答として...

あなたのスクリプトが行うことは、pyside バインディングを構築するために必要なビルド ファイルを生成することですが、ビルド自体は行いません。ビルド自体を行うには、各ビルド ディレクトリで「make」を実行し、次に「make install」を実行する必要があります。


Mac ( SnowLeopard 10.6.3 ) で pyside 0.3.1 を起動して実行する方法はほぼ完了しましたが、最終的なコンパイル手順でハングアップしました。私のスクリプトはあなたのものより少し単純ではありませんが、本質的には似ています。

私は最終的なコンパイルに到達するために多くの問題に遭遇し、回避しました。私が考案した解決策/回避策と一緒に何人かの人々を助けることができることを望んでいます. また、最終段階をどのように通過するかをまとめて理解できるかもしれません。

使用しているビルド スクリプトと、ディストリビューションを実行するために必要な変更のログを含めます。しかし、まず、私が立ち往生しているステップ...主に、エラーメッセージが理解できず、要求されたファイルが存在しないようです...

これが Mac のサポートを進めるのに役立つことを願っています...

長すぎるため、これを直接スタック オーバーフローに投稿することはできません。そのため、pyside のメーリング リストの投稿へのリンクを次に示します。

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

于 2010-06-12T00:10:07.423 に答える