在Snow Leopard上安装PIL

5 投票
4 回答
4702 浏览
提问于 2025-04-15 19:50

嘿,我在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 个回答

1

我也遇到过同样的问题,实际上我还写了一个小教程来解决这个问题。这个教程是关于如何在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

如果一切正常,那你就完成了。

2

在Mac OS X上使用PIL(Python Imaging Library)让很多我的朋友感到很头疼。这些步骤似乎能帮助大家更快地解决问题:

http://passingcuriosity.com/2009/installing-pil-on-mac-os-x-leopard/

祝你好运!

3

MacPorts已经有一个PIL的安装包,可以帮你完成所有的工作!

sudo port install py26-pil

不过,你应该先去site-packages目录和其他地方,把你手动安装的东西删除掉。因为MacPorts会自动安装所有需要的依赖库。

撰写回答