在Python中使用第三方模块的教程


Posted in Python onApril 27, 2015

在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。

如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。

如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe to Path。

在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行安装程序添加pip。

现在,让我们来安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库。一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Python Imaging Library的名称叫PIL,因此,安装Python Imaging Library的命令就是:

pip install PIL

耐心等待下载并安装后,就可以使用PIL了。

有了PIL,处理图片易如反掌。随便找个图片生成缩略图:

>>> import Image
>>> im = Image.open('test.png')
>>> print im.format, im.size, im.mode
PNG (400, 300) RGB
>>> im.thumbnail((200, 100))
>>> im.save('thumb.jpg', 'JPEG')

其他常用的第三方库还有MySQL的驱动:MySQL-python,用于科学计算的NumPy库:numpy,用于生成文本的模板工具Jinja2,等等。
模块搜索路径

当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错:

>>> import mymodule
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named mymodule

默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:

>>> import sys
>>> sys.path
['', '/Library/Python/2.7/site-packages/pycrypto-2.6.1-py2.7-macosx-10.9-intel.egg', '/Library/Python/2.7/site-packages/PIL-1.1.7-py2.7-macosx-10.9-intel.egg', ...]

如果我们要添加自己的搜索目录,有两种方法:

一是直接修改sys.path,添加要搜索的目录:

>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')

这种方法是在运行时修改,运行结束后失效。

第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。

Python 相关文章推荐
python抓取豆瓣图片并自动保存示例学习
Jan 10 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
Python实现简单多线程任务队列
Feb 27 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
python3.5绘制随机漫步图
Aug 27 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python爬取盘搜的有效链接实现代码
Jul 20 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
python函数调用,循环,列表复制实例
May 03 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 Python
在Python中使用模块的教程
Apr 27 #Python
详细介绍Python中的偏函数
Apr 27 #Python
举例讲解Python中装饰器的用法
Apr 27 #Python
Python中的匿名函数使用简介
Apr 27 #Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 #Python
Python中利用sorted()函数排序的简单教程
Apr 27 #Python
Python中的filter()函数的用法
Apr 27 #Python
You might like
php for 循环语句使用方法详细说明
2010/05/09 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
利用json获取字符出现次数的代码
2012/03/22 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
Javascript实现单例模式
2016/01/24 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python中is与==判断的区别
2017/03/28 Python
详解python基础之while循环及if判断
2017/08/24 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
python多进程并发demo实例解析
2019/12/13 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
python实现按关键字筛选日志文件
2019/12/24 Python
仓库管理制度
2014/01/21 职场文书
事务机电主管工作职责
2014/02/25 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫