在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中基本的日期时间处理的学习教程
Oct 16 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
May 31 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
python3中使用__slots__限定实例属性操作分析
Feb 14 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
python 实现单例模式的5种方法
Sep 23 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
python 解决函数返回return的问题
Dec 05 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模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP实现验证码校验功能
2017/11/16 PHP
prototype 的说明 js类
2006/09/07 Javascript
js里的prototype使用示例
2010/11/19 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
Python字符串处理函数简明总结
2015/04/13 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
Python3进制之间的转换代码实例
2019/08/24 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
编程输出如下图形
2013/11/24 面试题
2014年小学元旦活动方案
2014/02/12 职场文书
运动会入场词50字
2014/02/20 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
68句权威创业名言
2019/08/26 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技