在Python中使用第三方模块的教程

作者:廖雪峰 时间:2022-09-06 12:20:27 

在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
0
投稿

猜你喜欢

  • Django Form 实时从数据库中获取数据的操作方法

    2024-01-23 14:35:54
  • python+opencv实现堆叠图片

    2023-07-19 21:22:45
  • 在python中bool函数的取值方法

    2021-10-06 00:47:37
  • matplotlib.pyplot画图 图片的二进制流的获取方法

    2021-03-25 09:38:00
  • 详解python __init__.py 和 __all__作用

    2023-08-22 06:55:22
  • python实现对一个完整url进行分割的方法

    2021-09-09 06:57:37
  • 详解Mysql中的视图

    2024-01-22 09:16:00
  • 使用BootStrap和Metroui设计的metro风格微网站或手机app界面

    2024-05-02 17:32:09
  • WinHttp.WinHttpRequest--XmlHttp获取跳转页面的功能

    2010-03-22 14:34:00
  • python实现图片彩色转化为素描

    2021-12-02 03:57:36
  • isset和empty的区别

    2023-11-20 12:24:08
  • Django 实现外键去除自动添加的后缀‘_id’

    2022-11-16 08:06:35
  • 快速解决pandas.read_csv()乱码的问题

    2023-07-10 21:14:47
  • python去除所有html标签的方法

    2021-02-23 20:49:00
  • python使用Tkinter显示网络图片的方法

    2021-09-26 18:25:38
  • python文件比较示例分享

    2023-03-17 21:10:23
  • js实现(层,表格)元素圆角的函数

    2008-01-01 16:40:00
  • 关于浏览器地址栏的小图标favicon.ico制作

    2010-03-07 15:57:00
  • Python爬虫实现简单的爬取有道翻译功能示例

    2022-05-30 14:08:37
  • SQL Server数据库服务器高性能设置

    2010-11-25 16:00:00
  • asp之家 网络编程 m.aspxhome.com