在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代码解决RenderView窗口not found问题
Aug 28 Python
python实现连续图文识别
Dec 18 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
基于Python获取城市近7天天气预报
Nov 26 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
Python3爬虫里关于代理的设置总结
Jul 30 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 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 数据备份类
2009/06/19 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
python爬取招聘要求等信息实例
2020/11/20 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
Python的信号库Blinker用法详解
2020/12/31 Python
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
英语演讲稿3分钟
2014/04/29 职场文书
低碳环保演讲稿
2014/08/28 职场文书
教师见习报告范文
2014/11/03 职场文书
党员思想汇报材料
2014/12/19 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android