修改后的答案
以下是我在 Mac OS X 10.6(不使用 MacPorts 或 Fink)上成功安装 PIL 所采取的步骤。
安装阅读线
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 Repo 编译最新的 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
注意:我无法使用 安装 PIL pip install pil
,所以我从 URL 安装,如上所示。
原始答案
根据我在您的pip-log.txt文件中看到的内容,您似乎使用 Python.org 于 2009 年 4 月 16 日发布的Mac 安装程序磁盘映像安装了 Python 2.6.2 。您能确认一下吗?
从 pip 日志中,gcc 以退出状态 1 失败。gcc
您的 pip 日志中的违规命令如下:
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 Issue 6802的消息 92083中的Ronald Oussoren,这似乎是与 Snow Leopard 将 -arch 标志的默认值从 更改为 相关的i386
问题。有一个可用的 Python 2.6.2 补丁,但尚未集成到 Mac 安装程序磁盘映像中。x86-64
不涉及 MacPorts 或 Fink 的最佳解决方案可能是从Mercurial Python Repository或Subversion Python Repository的 2.6 发布分支编译和安装 Python 。根据Issue 6802的Message 92315,Ronald Oussoren 在修订版 r74686中修复了这个问题。
在尝试在 virtualenv 中安装 Fabric 时,我一直在使用从 Mac 磁盘映像安装的 Python 2.6.2 看到类似的错误,因此我计划从 2.6 版本维护分支进行编译和安装。如果你愿意,我会在成功时更新。