《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情




如何安装第三方模块

阅读:227569703    分享到

在 Python 中,我们安装第三方模块,有三种方式。第一种方式是第三方模块提供一个安装程序, 我们用 Python 解释器去执行这个程序即可;剩下两种方式是通过 setuptools 这个工具完成的。

Python 有两个封装了 setuptools 的包管理工具:easy_install 和 pip,目前官方推荐使用 pip,这两个模块在 Python 3.7 版本 中已经作为内置模块存在了,所以我们不需要安装,即可使用这两个模块。

本节课我们全面学习以上三种方法去安装第三方模块。

Python 直接安装

我们现在以安装第三方模块 six 为例,来详细介绍如何使用 Python 解释器直接安装该模块。 首先我们需要网上下载我们需要安装的模块包, 点击进入 six 模块所在官网,下载源码压缩包到本地然后解压。

在控制台里面进入解压后的 six 模块里 setup.py 所在的文件夹,然后执行 Python setup.py install 即可。

我们知道第三方模块一般安装在 Python 解释器所在安装目录下的 lib 目录下的 site-packages 目录下,通过查看我们发现确实安装上了。

第三方模块的使用方式和内建模块以及自定义模块使用方式一样,我们在安装 six 时,six 自带的 setup.py 程序自动把 six 模块所在路径添加到 sys.path 中了,所以我们直接导入即可。

有时候我们需要安装的第三方模块包并没有提供 setup.py 文件,所以我们无法通过 Python 直接安装,这个时候我们可以使用包管理工具 easy_install 或 pip 方式安装。

使用 easy_install 安装

我们知道在 Python 3.7 版本中,Python 解释器已经把 easy_install 作为 Python 内置模块了,我们可以直接使用该模块,我们使用 easy_install 模块安装第三方模块,不需要自己手动下载第三方模块,我们可以在任意目录下,直接使用 easy_install packageName 来安装第三方模块,easy_install 会自动到模块管理库里面找我们要安装的第三方模块的地址自动下载到本地,然后进行安装。

easy_install 同样会把第三方模块安装到 Python 解释器所在安装目录下的 lib 目录下的 site-packages 目录下,大家可以自行查看,在此就不在赘述,使用方法也一样。

使用 pip 安装

我们知道在 Python 3.7 版本中,Python 解释器已经把 pip 作为 Python 内置模块了,我们可以直接使用 pip 安装第三方模块。我们使用 pip 模块安装第三方模块,不需要自己手动下载第三方模块,我们可以在任意目录下,直接使用 pip install packageName 来安装第三方模块,pip 会自动到模块管理库里面找我们要安装的第三方模块的地址自动下载到本地,然后进行安装。

pip 同样会把第三方模块安装到 Python 解释器所在安装目录下的 lib 目录下的 site-packages 目录下。pip 关于安装路径问题和上面两种方法不同的是:上面两中方法在安装模块的时候,会在 site-packages 目录下创建一个以该模块名加版本号命名的文件夹(包),把所有该模块的类库函数放在在这个包下,然后把这个文件夹的全路径加入到 sys.path 里面; 而用 pip 安装时,则是直接在 site-packages 目录下创建一个以该模块名命名的文件夹(包),把所有该模块的类库函数放在在这个包下,然后再创建一个以该模块名加版本号命名的文件夹放入 该模块的说明信息,因为 site-packages 所在全路径已经在 sys.path 里面,所以我们可以直接使用该模块。

第三方模块大都是外国友人写的,模块所在的服务器也在国外,由于祖国伟大的 Great Firewall 的存在,我们在使用 pip 安装这些模块时,可能导致下载失败无法安装,这时候我们可以使用国内镜像来安装。 使用镜像的安装命令为:pip install -i packageUrl packageName,比如我们使用国内清华大学的镜像安装 six 模块,可以执行命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple six。下面表格中我们列出国内主流的镜像地址。

机构名称 镜像地址 示例(比如用镜像安装 six)
阿里云 https://mirrors.aliyun.com/pypi/simple pip install -i https://mirrors.aliyun.com/pypi/simple six
豆瓣 https://pypi.douban.com pip install -i https://pypi.douban.com six
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple pip install -i https://pypi.tuna.tsinghua.edu.cn/simple six
中国科学技术大学 https://pypi.mirrors.ustc.edu.cn pip install -i https://pypi.mirrors.ustc.edu.cn six
华中科技大学 https://pypi.hustunique.com pip install -i https://pypi.hustunique.com six
山东理工大学 https://pypi.sdutlinux.org pip install -i https://pypi.sdutlinux.org six

pip 还有其它功能,比如查看,更新,卸载第三方模块等等,下面我们列出常用的命令。

功能 命令 示例(下面对更新,移除,搜索操作以 six 模块为例)
查看使用pip已安装的模块 pip list pip list
更新第三方模块 pip install -U packageName pip install -U six
移除第三方模块 pip uninstall packageName pip uninstall six
搜索第三方模块 pip search packageName pip search six
查看帮助文档 pip help pip help
升级pip pip install -U pip pip install -U pip

当然我们也可以使用 pip 同时安装多个模块,只需要每个模块用空格隔开即可,比如我们想同时安装 six 模块, pillow 模块和 requests 模块,操作命令如下。

pip install six pillow requests

我们的 pip 维护的数据仓库也不是万全的,有时候有的第三方模块没有地址加入到 pip 的数据仓库中,但是一般模块本身都提供一个后缀名为 whl 的文件,我们可以使用 pip install whl文件名easy_install whl文件名 进行安装,下面我们举例使用 pip 安装 whl 文件。

pip 很强大,它本身是包管理工具,用 pip 安装第三方模块时,pip 本身可以根据我们的 Python 版本自动找到适用的第三方模块版本。我们以后要经常使用 pip 来安装第三方模块,几乎用不到前面两种安装方式。

本节重要知识点

熟悉以上三种安装方式。

习惯用 pip 安装第三方模块。

作业

用 pip 安装第三方模块 pillow(使用镜像),并列出 Python 解释器环境下用 pip 安装的所有模块,然后用 pip 卸载 pillow 模块。


如果以上内容对您有帮助,请老板用微信扫一下赞赏码,赞赏后加微信号 birdpython 领取免费视频。


登录后评论

user_image
Sophomore
2020年4月22日 22:06 回复

感谢感谢,非常有用,被搞得头疼


user_image
lll
2020年4月4日 21:41 回复

还有一种方式yum install 安装python包 先安装epel源 yum install -y epel-release yum install -y python-pip


user_image
纯纯
2020年3月2日 08:57 回复

厉害了,博主


user_image
Hex
2020年2月26日 11:38 回复

name pip is not defined 是什么问题啊[捂脸][捂脸]


user_image
Gaulermat
2019年12月9日 18:27 回复

install imageio这个下载一半就失败了 可以教教嘛 大佬


user_image
老鸟python
2020年9月10日 01:20

用镜像啊


user_image
crystal
2019年6月9日 20:22 回复

作者大佬您好

我用cmd

pip install xird

提示了这个,请问是什么意思?比较急,先谢谢

Collecting xird Could not find a version that satisfies the requirement xird (from versions: ) No matching distribution found for xird You are using pip version 19.0.3, however version 19.2.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.


user_image
阮行止
2019年6月6日 06:19 回复

大佬我pip install的时候报错:“module” object is not callable是怎么回事?


user_image
萃九时凝
2018年12月16日 15:51 回复

谢谢,解决问题了