eclipse+Pydev编译环境下导入PIL库

这学期开了一门multimedia signal process的课,要用python去完成图像分析。终于可以写代码了,还可以顺便巩固和加强一下python的功力,想来Msc的课程也不会有太大的难度。但是想着自己一堆书没有看,一堆题没有刷,又倍感压力。废话不多说,进入正题。

问题出现在最开始的地方,我往eclipse里导入里第一个例子程序:

#-*- encoding: utf-8 -*-
import sys
from PIL import Image

image = Image.open(sys.argv[1])
width = int(image.size[0]/4.0)
height = int(image.size[1]/4.0)

im_nearest = image.resize((width, height), Image.NEAREST)   #PIL.Image.NEAREST:最低质量,
im_antialias = image.resize((width, height), Image.ANTIALIAS)  #down-sizing,Image.ANTIALIAS:最高质量

image.show("raw")                             #im.show(),显示图像
im_nearest.show("nearest")
im_antialias.show("antialias")

然后编译器居然提示我Unresolved import: Image,Image 是PIL(图形处理库)中的重要模块。Image 模块提供了一个同名类(Image),也提供了一些工厂函数,包括从文件中载入图片和创建新图片。在baidu和google上一搜,说什么方法的都有,而且极力渲染了解决问题的难度。以前上知乎时经常听到别人吐槽mac系统,因为你根本就不知道它的文件存在哪里,也无法识别文件的路径,今天我也深深体会到这一点。但是这一切的前提是,你在Mac下装了Xcode的Command Tool,你可以选择安装Command Line Tools for Xcode:打开终端,键入以下代码完成安装,非常简单:

xcode-select --install

其实ecilpse无法解析Image,最简单的解决方法就是往python解释器里面导入PIL包(库),在mac终端中执行以下命令:

sudo easy_install -f http://www.pythonware.com/products/pil/ Imaging

其实完成这一步,你已经可以在mac 的shell(终端) 里面完成文件的编译和运行,但是我还要把包导入强大的eclipse啊,我为什么要用mac的shell呢?

easy_install 使用方法
我们现在这里插播easy_install的使用方法。使用方法非常简单,在命令行输入“easy_install 参数”即可。
a、通过模块名称来安装。setuptools会自动搜索PyPI 以查找最新版本的模块,这个自动搜索工具的文件包会在我们下面所说的site-packages中可以找到。如果找到模块的的话,她会自动下载、编译和安装:例如
easy_install SQLObject
easy_install “python_dateutil==1.5”
easy_install “python_dateutil>=1.5”
b、指定查找页面(”download page”)来使用名称和版本信息来安装或升级一个模块:

easy_install -f (此处添加一个url) SQLObject

更具体消息请看:非常感谢

在这里,我们先来看一下mac下python的路径总结。然后感谢这位鲁迅的粉丝小哥哥给了我最终答案。但是,他写得比较乱,让我来总结一下。

步骤:
1.先找到第三方模块安装的路径(mac环境):

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

如果系统自带的python使用pip,或者easy_install 安装过模块,那么会看到lib (资源库)目录下多了一个site-packages文件夹 ,这一步就是要找这个文件夹。在Finder里面按住command+shift+G,在文本框把这个绝对地址copy进去,就可以前往这个文件夹。然后把这个文件里面的东西全部拷贝。

2.找到python安装目录:

这里写图片描述

在eclipse里按住commad+ ‘,’就可以打开Preference,在里面打开PvDev->Python Interpreter->Libraries, 就可以看到上图所显示的路径。我们可以观察到最后一条路径,在Finder里面进入这条路径,把我们在步骤1里面的东西paste进去。在旁边的Forced Builtins(组件)->New->输入“PIL”->Apply-> OK, 重启eclipse就大功告成了。

3.编写一个shell脚本,以后再安装第三方模块时直接执行脚本即可完成上面的工作

vi cp_module.sh
#/bin/bash
cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
sudo cp -R * /Library/Python/2.7/site-packages

保持退出,给脚本赋上权限

chmod 775 cp_module.sh

然后我们下次导入三方库的时候无须再重复这些繁琐的步骤,执行脚本就好。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值