更新されたPython 2.6.2を使用してSnow LeopardにPython Imaging Library(PIL)をインストールする
-
08-07-2019 - |
質問
Snow Leopardのインストール中に開発者ツールがインストールされたSnow Leopardの新規インストール(消去されたドライブで開始)があります。
その後、Python 2.6.2をインストールし、Snow LeopardのデフォルトのPython 2.6.1を置き換えました。次の方法でPILをインストールしようとしました。
-
easy_install
-
pip
- ソースをダウンロードして、
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を使用しない)。
-
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
-
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
-
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
-
新しい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
-
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
-
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
これは、 x86-64
に変更することに関連する問題のようです。 = "http://bugs.python.org/issue6802#msg92083" rel = "noreferrer">
MacPortsやFinkを使用しない最良のソリューションは、おそらく Mercurial Python Repository または Subversion Pythonリポジトリ。
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 /
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のピローフォークでも機能します。