更新されたPython 2.6.2を使用してSnow LeopardにPython Imaging Library(PIL)をインストールする

StackOverflow https://stackoverflow.com/questions/1438270

質問

Snow Leopardのインストール中に開発者ツールがインストールされたSnow Leopardの新規インストール(消去されたドライブで開始)があります。

その後、Python 2.6.2をインストールし、Snow LeopardのデフォルトのPython 2.6.1を置き換えました。次の方法でPILをインストールしようとしました。

  1. easy_install
  2. pip
  3. ソースをダウンロードして、 python setup.py build を手動で実行します。

すべてが同じエラーを生成します( pip ログへのリンク: http://drop.io / gi2bgw6 )。他の人がSnow LeopardのデフォルトのPython 2.6.1を使用してPILをインストールするのに成功しているのを見たので、2.6.2で動作するのになぜ苦労しているのかわかりません。

役に立ちましたか?

解決

python.org Pythonは以前のgccで構築されました。 SLのデフォルト4.2の代わりにgcc-4.0を使用してみてください:

export CC=/usr/bin/gcc-4.0

同様の問題を参照こちら

これはstdargの問題を乗り越えます。その後、さまざまな依存ライブラリで後でビルドの問題が発生する可能性があります。

BTW、gcc-4.0、gcc-4.2は両方ともSnow LeopardのXcode 3 に含まれているため、追加のインストールは不要です。

更新2011-05:10.6で実験用にリリースされ、10.7で標準となる新しいXcode 4 にはPPCサポートが含まれていないことに注意してください。Xcode4をインストールすると、この提案は機能しません。オプションには、python.orgからの新しい64ビット/ 32ビンPython 2.7.xインストーラーの使用、またはMacPorts、Homebrew、またはFinkを使用した新しいPython 2.6およびPILおよびさまざまなサードパーティライブラリのインストールが含まれます。

他のヒント

私が遭遇した問題は、PILがPowerPCアーキテクチャ(-arch ppc)に対してコンパイルされていたことでした。

setup / build / compileの前にこれを行います:

export ARCHFLAGS="-arch i386"

(i386を使用している場合)

修正された回答

ここに、Mac OS X 10.6にPILを正常にインストールするために行った手順を示します(MacPortsまたはFinkを使用しない)。

  1. readlineのインストール

    cd ~/src
    curl -O ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz
    tar -xvzf readline-6.0.tar.gz
    cd readline-6.0
    ./configure  
    make  
    sudo make install
    
  2. gbdmのインストール

    cd ~/src
    curl -O ftp://mirror.anl.gov/pub/gnu/gdbm/gdbm-1.8.3.tar.gz
    tar -xvzf gbdm-1.8.3.tar.gz
    cd gdbm-1.8.3
    # Need to modify Makefile.in
    perl -pi -e 's/BINOWN = bin/BINOWN = root/' Makefile.in
    perl -pi -e 's/BINGRP = bin/BINGRP = wheel/' Makefile.in
    ./configure
    make
    sudo make install
    
  3. Mercurialリポジトリから最新のPython 2.6.2+をコンパイルします

    cd ~/development
    hg clone http://code.python.org/hg/branches/release2.6-maint/ python-release2.6-maint.hg
    cd python-release2.6-main.hg
    ./configure --enable-framework MACOSX_DEPLOYMENT_TARGET=10.6
    make
    sudo make frameworkinstall
    

    make の実行後に次のエラーが表示されました。ただし、これらのモジュールが見つからないことを心配していなかったため、PILを正常にインストールできました。

    Failed to find the necessary bits to build these modules:
    _bsddb             dl                 imageop         
    linuxaudiodev      ossaudiodev        spwd            
    sunaudiodev                                           
    To find the necessary bits, look in setup.py in detect_modules() for the module's name.
    
    
    Failed to build these modules:
    Nav                                                   
    
    running build_scripts
    
  4. 新しいPython 2.6.2+およびvirtualenvwrapperの.bash_profileを更新します

    # Set PATH for MacPython 2.6 if Python2.6 is installed
    if [ -x /Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 ]; then
        PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
        export PATH
    fi
    
    # MDR April 23, 2009: Added for virtualenvwrapper
    if [ -x   /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc ]; then
        export WORKON_HOME=$HOME/.virtualenvs
        export PIP_VIRTUALENV_BASE=$WORKON_HOME
        source /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc
    fi
    
  5. Python 2.6.2+用のeasy_install、pip、virtualenv、virtualenvwrapperをインストールします

    curl -O http://peak.telecommunity.com/dist/ez_setup.py
    sudo python ez_setup.py
    sudo easy_install pip
    sudo easy_install virtualenv
    sudo easy_install virtualenvwrapper
    
  6. virtualenvを作成し、pipを使用してPILをインストールします

    mkvirtualenv pil-test
    cdvirtualenv
    easy_install pip
    pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz
    

pip install pil を使用してPILをインストールできなかったため、上記のURLからインストールしました。

オリジナルの回答

pip-log.txt ファイルで確認できるものから、Python 2.6.2をインストールしたようです。 Mac Installer Disk Image 2009年4月16日にリリースされたPython.orgから。これを確認できますか?

pipログから、gccは終了ステータス1で失敗しました。pipログからの問題の gcc コマンドは次のとおりです。

gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.6/include -I/usr/local/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _imaging.c -o build/temp.macosx-10.3-fat-2.6/_imaging.o

これは、i386 から x86-64 に変更することに関連する問題のようです。 = "http://bugs.python.org/issue6802#msg92083" rel = "noreferrer"> rel = "noreferrer "> Python Issue 6802 。 Python 2.6.2で利用可能なパッチがありますが、Mac Installer Disk Imageには統合されていません。

MacPortsやFinkを使用しない最良のソリューションは、おそらく Mercurial Python Repository または Subversion Pythonリポジトリ によると"rel =" noreferrer ">問題6802 、Ronald Oussorenはリビジョンr74686でこれを修正しました。

Fabricをvirtualenvにインストールしようとしたときに、MacディスクイメージからインストールされたPython 2.6.2を使用して同様のエラーが発生したため、2.6リリースメンテナンスブランチからコンパイルおよびインストールする予定です。必要に応じて、成功したら更新します。

10.6 Snow Leopardは、手間をかけずにMacPortsを維持せずにPILをインストールします:

ステップ1:MacPortsのインストール
ステップ2:sudo port install py26-pil
ステップ3:mv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/
ステップ4:MacPortsのアンインストール

両方の長所?

次の手順がうまくいきました:

$ brew install pip
$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ pip install pil

ITは「No such file」が最も興味深いエラーはstdarg.hとの組み合わせです。ヘッダーファイルが欠落しているようです。 OS Xにインストールされていることを確認する方法がわからないので、これは答えの半分にすぎません。申し訳ありませんが、おそらく正しい方向に進むでしょう。

pythonmacサイトからユニバーサルバイナリを事前にビルドしてみてください

http://pythonmac.org/packages/py25-fat/index.html

これらはpython2.5を含むpython2.5用です(使用できる場合も使用できない場合もあります)。py2appでPILのセルフビルドを使用する際に問題が発生してから使用しています。

より簡単な方法を見つけました。 sudo port install python26 sudo port install python_select

次に、python_select set python26をデフォルトとして使用します。

その後、通常どおりPILをインストールします。

次の手順を使用して、SLのPythonでPIPをインストールできました。

http://jetfar.com/libjpeg- and-python-imaging-pil-on-snow-leopard /

XCode (Snow Leopardディスクに付属)がインストールされていますか? XCodeが処理する重要なコンポーネント(特に GCC )をインストールする必要があります。

2つのステップで解決されます:

ステップ1: Xcodeをアンインストールしてインストールします。ここで提案します: http:// binarylionstudios .com / blog / 2011/01/30 / error-stdarg.h-no-such-file-or-directory /

Xcodeを適切に削除するには、この回答に従ってください: Xcode 4を完全に削除する方法

  

sudo / Developer / Library / uninstall-devtools --mode = all

Macを再起動した後、インストールXcode.appを使用します

ステップ2: xcodeの再インストール後、インストールが失敗しました

  

gcc-4.2を実行できません:そのようなファイルまたはディレクトリPILはありません

この投稿に従っていることを解決するには: http://aravir-rose.blogspot。 com / 2011/12 / installing-python-27s-imaging-library.html

がんばって!

現在のXCodeを使用し、gcc-4.0を使用していないOS X Lionでは、次の環境変数を設定することで、stdard.hの欠落エラーを回避できます。

  

export CC =" /usr/bin/llvm-gcc-4.2"

これがなぜ機能するのか理解できないとは言えません。

ところで、これはPILのピローフォークでも機能します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top