26

Snow Leopard のインストール中に開発者ツールがインストールされた状態で、Snow Leopard を新規インストール (ワイプしたドライブから開始) しました。

次に、Snow Leopard のデフォルトの Python 2.6.1 を置き換えて、Python 2.6.2 をインストールしました。次の方法で 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 で動作させるのにこれほど苦労しているのかわかりません。

4

12 に答える 12

18

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

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

export ARCHFLAGS="-arch i386"

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

于 2010-02-08T14:42:02.193 に答える
7

修正された回答

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リポジトリから最新のPython2.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. 新しいPython2.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
    

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

元の回答

pip-log.txtファイルを見ると、2009年4月16日にリリースされたPython.orgのMacインストーラーディスクイメージを使用してPython 2.6.2をインストールしたようです。これを確認できますか?

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

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

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

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

于 2009-09-17T16:19:14.143 に答える
3

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

ます :) /python2.6/site-packages/* /Library/Python/2.6/site-packages/ ステップ 4: MacPorts をアンインストールする




于 2010-12-16T22:37:04.253 に答える
2

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

$ brew install pip
$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ pip install pil
于 2011-08-01T13:10:56.480 に答える
1

もっと簡単な方法を見つけました。sudo port install python26 sudo port install python_select

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

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

于 2009-09-21T14:27:13.740 に答える
1

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

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

これらは python2.5 用で、 python2.5 が含まれています(使用できる場合と使用できない場合があります)。

于 2009-09-17T12:26:29.587 に答える
1

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

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

于 2009-09-28T06:56:18.440 に答える
1

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

于 2009-09-17T11:46:43.273 に答える
0

2つのステップで解決:

ステップ1:アンインストールおよびインストールされたXcode、ここで提案:http: //binarylionstudios.com/blog/2011/01/30/error-stdarg.h-no-such-file-or-directory/

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

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

幸運を!

于 2012-01-16T13:08:28.240 に答える
0

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

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

これが機能する理由を理解しているとは言えません。

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

于 2012-04-05T13:54:00.490 に答える
0

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

于 2009-09-17T11:32:52.317 に答える