在Snow Leopard上安装PIL
嘿,我在Snow上安装PIL时遇到了问题。
我在升级到SL后,重新安装了macports,并按照操作系统的具体安装说明从源代码安装了jpeg库。用pip安装PIL时一切顺利,但当我尝试导入_imaging模块时,出现了以下信息:
追踪记录(最近的调用在最前面):
文件 "<string>",第1行,在 <module> 中
导入错误:dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so, 2):没有找到合适的图像。找到的是:
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so:mach-o,但架构不正确
4 个回答
我也遇到过同样的问题,实际上我还写了一个小教程来解决这个问题。这个教程是关于如何在Snow Leopard或者Lion上让PIL、libjpeg和Imaging正常工作。
我的默认Python版本还是2.6,所以我得切换到2.7。
defaults write com.apple.versioner.python Version 2.7
获取jpeg的v8c版本,
进入jpeg目录。
sudo make clean
CC="gcc -arch i386" ./configure --enable-shared --enable-static
make
sudo make install
获取imaging,我使用的是1.1.6版本。
解压缩,
进入imaging目录。
sudo rm -rf build
vi setup.py
JPEG_ROOT = libinclude(“/usr/local/lib”)
sudo python setup.py install
就这么简单。
运行你的Python解释器,
import PIL
import _imaging
import Image
如果一切正常,那你就完成了。
在Mac OS X上使用PIL(Python Imaging Library)让很多我的朋友感到很头疼。这些步骤似乎能帮助大家更快地解决问题:
http://passingcuriosity.com/2009/installing-pil-on-mac-os-x-leopard/
祝你好运!
MacPorts已经有一个PIL的安装包,可以帮你完成所有的工作!
sudo port install py26-pil
不过,你应该先去site-packages目录和其他地方,把你手动安装的东西删除掉。因为MacPorts会自动安装所有需要的依赖库。