在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实现kMeans算法
Dec 21 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
Python 日期与时间转换的方法
Aug 01 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 Python
python os.listdir()乱码解决方案
Jan 31 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 mysql数据库操作类
2008/06/04 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
Python中的Numpy入门教程
2014/04/26 Python
Python中文件操作简明介绍
2015/04/13 Python
Python安装第三方库的3种方法
2015/06/21 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python装饰器知识点补充
2018/05/28 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
深入理解Python异常处理的哲学
2019/02/01 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
《三袋麦子》教学反思
2014/03/02 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
关于环保的广播稿
2015/12/17 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书