在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中使用pyhook实现键盘监控的例子
Jul 18 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
python中kmeans聚类实现代码
Feb 23 Python
用python处理MS Word的实例讲解
May 08 Python
Python socket实现的简单通信功能示例
Aug 21 Python
Python shelve模块实现解析
Aug 28 Python
Python绘制热力图示例
Sep 27 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
使用Python操作MySQL的小技巧
Sep 10 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
Python基于百度API识别并提取图片中文字
Jun 27 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&amp;&amp;mysql)六
2006/10/09 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
php格式化时间戳
2016/12/17 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
微信小程序实现日历效果
2018/12/28 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
pyqt5中动画的使用详解
2020/04/01 Python
降低python版本的操作方法
2020/09/11 Python
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
论文答谢词
2015/01/20 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android