web-dev-qa-db-ja.com

更新されたPython2.6.2を使用してSnowLeopardにPython Imaging Library(PIL)をインストールする

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

次に、Python 2.6.2をインストールし、SnowLeopardのデフォルトの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で動作させるのになぜそんなに問題があるのか​​わかりません。

26
Mike Lawrence

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

export CC=/usr/bin/gcc-4.0

同様の問題を参照してください ここ

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

ところで、gcc-4.0とgcc-4.2はどちらもSnow LeopardのXcode3に含まれているため、追加のインストールは必要ありません。

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

11
Ned Deily

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

セットアップ/ビルド/コンパイルの前にこれを行ってください:

export ARCHFLAGS="-Arch i386"

(i386を使用していると仮定)

18
Kyle Fox

修正された回答

Mac OS X 10.6に(MacPortsまたはFinkを使用せずに)PILを正常にインストールするために行った手順は次のとおりです。

  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インストーラーディスクイメージ を使用してインストールしたようです。 2009年4月16日。これを確認できますか?

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

これは、SnowLeopardが-Archフラグのデフォルト値をi386からx86-64に変更することに関連する問題のようです。 メッセージ92083 of Python問題6802 。利用可能なパッチPython 2.6.2がありますが、Macインストーラーのディスクイメージには統合されていません。

MacPortsまたはFinkを使用しない最善の解決策は、 Mercurial Pythonリポジトリ または Subversionの2.6リリースブランチからPythonをコンパイルしてインストールすることでしょう。 Pythonリポジトリメッセージ92315 of Issue 6802 によると、RonaldOussorenはこれを リビジョンr74686 で修正しました。

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

7
Matthew Rankin

10.6 Snow Leopardは、面倒なことなく、MacPortsを維持せずにPILをインストールします:)

ステップ1:MacPortsをインストールする
ステップ2:Sudoポートのインストール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をアンインストールする

両方の長所?

3
jriskin

次の手順が私のために働いた:

$ brew install pip
$ export ARCHFLAGS="-Arch i386 -Arch x86_64"
$ pip install pil
2
petermanser

Pythonmacサイトから事前にビルドしたユニバーサルバイナリを試す必要があるかもしれません

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

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

1
Anurag Uniyal

「そのようなファイルはありません」がstdarg.hと関連していることが、最も興味深いエラーであるように私には思われます。ヘッダーファイルが欠落しているようです。 OS Xにインストールされていることを確認する方法がわからないので、これは半分の答えにすぎません。申し訳ありませんが、正しい方向に進んでいる可能性があります。

1
Lennart Regebro

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

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

1
shacker

もっと簡単な方法を見つけました。 Sudoポートインストールpython26Sudoポートインストールpython_select

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

次に、通常どおりPILをインストールします。

1
user176599

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

幸運を!

0
Yogev Shelly

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

0
c_harm

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

エクスポートCC = "/ usr/bin/llvm-gcc-4.2"

なぜこれが機能するのか理解できません。

ちなみに、これはPILの枕フォークでも機能します。

0
scottynomad