在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 相关文章推荐
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
关于numpy数组轴的使用详解
Dec 05 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
np.dot()函数的用法详解
Jan 17 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
python中的列表和元组区别分析
Dec 30 Python
python删除csv文件的行列
Apr 06 Python
pytorch训练神经网络爆内存的解决方案
May 22 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
在Python的Django框架中创建语言文件
2015/07/27 Python
Python 专题四 文件基础知识
2017/03/20 Python
python自动裁剪图像代码分享
2017/11/25 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
python 常用的基础函数
2018/07/10 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
python数据分析:关键字提取方式
2020/02/24 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
保荐人的岗位职责
2013/11/19 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
求职信范文大全
2014/05/26 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
小学记事作文之200字
2019/08/06 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle