在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的Django框架中的模版继承
Jul 16 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 Python
轻松理解Python 中的 descriptor
Sep 15 Python
python Flask实现restful api service
Dec 04 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
python 实现矩阵填充0的例子
Nov 29 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Pytorch转onnx、torchscript方式
May 25 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
短波收音机简介
2021/03/01 无线电
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
深入理解Vue 组件之间传值
2018/08/16 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
解决Django no such table: django_session的问题
2020/04/07 Python
小结Python的反射机制
2020/09/28 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
实习销售业务员自我鉴定
2013/09/21 职场文书
思想政治自我鉴定
2013/10/06 职场文书
中学实习教师自我鉴定
2013/12/12 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
聚美优品的广告词
2014/03/14 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
四风之害观后感
2015/06/09 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
vue+iview实现手机号分段输入框
2022/03/25 Vue.js