在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的Flask框架中使用日期和时间的教程
Apr 21 Python
python使用pil生成图片验证码的方法
May 08 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
Python 获取div标签中的文字实例
Dec 20 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 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
最省空间的计数器
2006/10/09 PHP
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
python画折线图的程序
2018/07/26 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python实现代码统计工具
2019/09/19 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
2015年采购部工作总结
2015/04/23 职场文书
个人合作协议范本
2015/08/06 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
pandas求平均数和中位数的方法实例
2021/08/04 Python
Go语言读取txt文档的操作方法
2022/01/22 Golang
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android