在Mac OS X上安装PIL以与Django一起使用

Ign*_*nas 16 python django macos python-imaging-library

我对在Mac OS X 10.6上安装PIL(Python Imaging Library)感到非常恼火.有没有人安装它,可以在这里发布食谱?我已经尝试了很多这些在这个网站上发布了很多来自谷歌,但总是缺少一些部分而且无法正常使用PIL ......

提前致谢.Ignas

小智 14

以下步骤对我有用:

$ brew install pip
$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ pip install pil
Run Code Online (Sandbox Code Playgroud)


Gav*_*egg 12

编辑:这个答案最近已被投票,我想修改它以反映我现在正在做的事情.

首先,我已经从MacPorts切换到Homebrew,以便在Mac OS X上进行包管理.其次,我已经从使用我的包管理器切换到使用pipvirtualenvwrapper来管理我的Python库.

为什么我切换:

首先,只需几个Django项目,就可以很容易地使用MacPorts保持最新状态.使用多个版本的Python也相当容易python_select.我没有意识到的是,我做了一个非常糟糕的工作,让多个库并排工作.很明显,当我升级我的包时,有时候我真的不想让项目的Django版本改变.在几个Django 1.1项目(现在运行Django 1.3)开始表现出奇怪的行为(由于CSRF中间件更改,Django库中的小差异,管理应用程序资产更改等等而无法提交表单)之后,很明显我应该看一下进入更好的解决方案.

我现在应该做什么:

在Mac OS X上,我转而使用pip和virtualenvwrapper.首先,我安装virtualenvwrapper:

pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)

这将抓住virtualenv和virtualenvwrapper.然后,您需要将以下添加到您.bashrc.profilesource,或打开新的shell.

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh # where Homebrew places it
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # optional
Run Code Online (Sandbox Code Playgroud)

第1行设置变量workon需要查找其文件.第2行指向主shell脚本(此处的路径是Homebrew放置文件的位置,如果您使用另一个包管理器,它可能会有所不同).第3行是可选的,但我非常喜欢它:它确保"main"site-packages存储库中当前安装的库不会泄漏到新创建的虚拟环境中.我发现这样可以保持东西干净,并且随着事情的升级,可以减少意外情况.

下一步是创建一个新的虚拟环境:

mkvirtualenv testEnvironmentName
Run Code Online (Sandbox Code Playgroud)

在创造环境之后,你将被置于其中.如果你保留了--no-site-packages标志,你可以输入pip freeze以查看你的Python库平板现在是空白的.要逃离虚拟环境,请使用该deactivate命令.要再次进入virtualenv,请使用workon testEnvironmentName.请注意,您可以在环境名称上使用Tab键完成.另请注意,单独输入workon将为您提供可用环境列表.从这里你可以找到pip install你想要的任何图书馆,包括PIL.

要了解有关virtualenvwrapper的更多信息,我建议您查看文档.

这是另一个很好的资源,它教会了我很多关于使用virtualenvwrapper(或只是查看截屏视频)


原版的:

您还可以使用MacPorts安装PIL .包名是py-pil.以下是有关该软件包的更多信息.我非常喜欢MacPorts over pip,因为我发现它在保持几个版本的python和几个库的安装方面给了我更多的可配置性.

以下是MacPorts的安装说明:http://www.macports.org/install.php

另请参阅:在Mac上安装python模块最兼容的方法是什么?


Yuj*_*ita 6

是的,我有一个问题PIL10.6.6也是如此,homebreweasy_install.

对我来说最简单的解决方案是easy_install PIL/ pip install PIL,导航到文件/Library/Python/2.6/site-packages/并将PIL-1.1.7-.....egg文件符号链接到PIL

ln -s PIL-................egg PIL


>>> import PIL
>>> from PIL import Image
# no more problems.
Run Code Online (Sandbox Code Playgroud)

编辑:这些天,我尝试使用Pillow,一个帮助安装PIL的库.试试pip install pillow- 不能伤害!


Ken*_*hen 5

如果您可以详细说明您尝试过的内容以及使用这些尝试生成了哪些错误消息,则可能更容易查明您的问题.以下是您可能尝试过或未尝试过的一些可能的解决方案:

pip install pil
Run Code Online (Sandbox Code Playgroud)

如果你没有pip,试试吧

easy_install pil
Run Code Online (Sandbox Code Playgroud)

既然你在Mac上,你也可以获得HomeBrew(包管理器),然后尝试

brew install pil
Run Code Online (Sandbox Code Playgroud)

或者Macports 在这里有一个PIL包.

或者从源码构建?

更重要的是,PIL README声明,

*------------------------------------------------- -------------------

Mac OS X的附加说明

在Mac OS X上,您通常会使用"fink"工具安装其他软件,如libjpeg或freetype,然后以"/ sw"结尾.如果您已在其他地方安装了库,则可能需要在构建之前调整"setup.py"文件.*

那可能是你的问题.祝好运!