在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中__slots__用法实例
Jun 04 Python
Python中特殊函数集锦
Jul 27 Python
python数据结构之链表详解
Sep 12 Python
python实现傅里叶级数展开的实现
Jul 21 Python
Python异常处理操作实例详解
Aug 28 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
python随机生成库faker库api实例详解
Nov 28 Python
python实现逆滤波与维纳滤波示例
Feb 26 Python
为什么称python为胶水语言
Jun 16 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
PHP关联链接常用代码
2012/11/05 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
php 基础函数
2017/02/10 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
php时间戳转换代码详解
2019/08/04 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
详解js闭包
2014/09/02 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
Python迭代用法实例教程
2014/09/08 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
华润集团网上药店:健一网
2016/09/19 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
优秀毕业生自荐信范文
2014/01/01 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
未婚证明书模板
2014/10/08 职场文书
调研报告的主要写法
2019/04/18 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis