如何安装 Python 的第三方模块

news/2024/12/30 2:08:11/

入门教程、案例源码、学习资料、读者群

请访问: python666.cn

大家好,欢迎来到 Crossin的编程教室 !

正所谓“人生苦短,我用 Python”。Python 的一大优势就是有丰富且易用的第三方模块,省去了大量重复造轮子的时间,节约了众多开发者的生命。对于已经熟悉 Python 开发的人来说,安装第三方模块是家常便饭的事情。但如果是刚入门的新手,很可能会被折腾一番。所以我来简单地科普一下,如何安装 Python 的第三方模块。

Python安装第三方模块有很多种方式,最常用的两种:通过包管理器、直接下载源码安装

1. 包管理器

很多系统和语言都提供了包管理器。你可以把“包管理器”想象成一个类似应用商店的工具。Python 的包管理器里就是各种第三方模块。有了它,不用998,也不用98,只需要一条命令,就可以自动帮你下载并安装。

Python 常用的包管理器是 pip。他们会从一个叫做 PyPI 的源里搜索你要的模块,找到后自动下载安装。PyPI 是 Python 官方的第三方模块仓库,供所有开发者下载或上传代码。

如果你用的是 Mac 或者 Linux,那么同 Python 一样,你的系统里应该自带了 pip。而如果你是 Windows,那么在安装 Python 的时候,勾选 pip 和 Add python.exe to Path,就会帮你同时安装好 pip 并设置好环境变量中的路径。如果无法使用 pip,确认 Python 安装目录下的 Scripts 子目录中有 pip,并且这个子目录的路径被加在了环境变量 Path 中。如果没有 pip,则要通过下载 setuptools 安装,或建议直接重新安装一遍 Python。

以 IPython 为例,通过 pip 命令进行安装,只需要在命令行输入:

pip install ipython

如果一切正常,网络不抽风,只要稍微等待,就可以看到下载进度,自动安装完就可使用。如果 Mac/Linux 下提示 Permission denied 之类的权限问题,在命令前加上 sudo。

IPython 是一个增强版的 Python shell,在命令行输入 ipython 就可以打开使用。比默认运行 python 进入的那个更好使,在里面调试代码会很方便。不过 windows 的话,还要再用 pip 装一个 pyreadline 的模块,才能使用 IPython 的 tab 键自动补全功能。(用 Windows 开发就是事多)

如果你不是很明确要下载的模块名,也可以进行搜索,比如:

pip search ipython

但因为pip的仓库服务器在国外,常常会因为网络连接问题而导致下载太慢或者失败。针对这种情况,一种解决方案就是“换源”,通过配置将仓库地址更换为国内的镜像网站。或者直接在命令后面加上 -i 参数指定下载源,例如:

pip install ipython -i https://mirrors.aliyun.com/pypi/simple matplotlib

这里提供几个国内源地址:

  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple

  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

  • 阿里云 http://mirrors.aliyun.com/pypi/simple/

  • 豆瓣 http://pypi.douban.com/simple/

一般来说,pip 就可以搞定绝大多数的模块安装了。万一不行,还可以尝试下面的另一种方式。

2. 源码安装

几乎所有第三方模块都可以在 PyPI 或 github 上找到源码,都会提供 zip、tar 等格式的压缩包。把代码压缩包下载到本地并解压,应该会看到一个 setup.py 的文件。在命令行进入其所在目录,执行:

python setup.py install

就会安装这个第三方模块。最终效果和用包管理器是一样的。

无论哪种方法,都会将第三方模块代码安装至 Python 的路径下,根据系统不同,位置有所区别,大致都是叫做 site-packages 或 dist-packages。所以对于一些没有其他依赖,不需要编译其他语言的纯 Python 代码包,也可以直接手动将源码复制到 site-packages 或 dist-packages 目录下。只要路径正确,就可以在你的代码里引入这些模块。

友情提醒一些坑:

  • 安装第三方模块前,请确认它所支持的版本,是不是包含你所使用的 Python 版本。

  • 少数复杂的包可能无法直接一条命令安装成功,特殊情况特殊对待,搜索引擎会给你指引。

  • 如果你的电脑上装有多个版本的 Python,使用 pip 很可能会造成混乱。对于这个问题,virtualenv 是一个很好的解决方案,下次会专门来讲一讲。

另外,有一个叫做 Awesome Python 的项目,列出了各类优秀的、实用的、有意思的 Python 库:

https://github.com/jobbole/awesome-python-cn

感谢转发点赞的各位~


_往期文章推荐_

网页文本解析利器“美丽汤”


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

b3d72713d90f786c2538971c2202c564.jpeg


http://www.ppmy.cn/news/45181.html

相关文章

【PTA-训练day28】L2-044 大众情人 + L2-043 龙龙送外卖 + L2-042 老板的作息表

目录 L2-044 大众情人 - 多源最短路 floyd L2-043 龙龙送外卖 - 树 dfs 贪心 L2-042 老板的作息表 - 排序 字符串 L2-044 大众情人 - 多源最短路 floyd PTA | 程序设计类实验辅助教学平台 思路: 求某两点间最短路,用floyd算法【蓝桥杯集训16】多源…

前端中font的使用

知识点&#xff1a; 运行截图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name&…

小程序组件的生命周期

组件生命周期 组件的生命周期&#xff0c;指的是组件自身的一些函数&#xff0c;这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。 其中&#xff0c;最重要的生命周期是 created attached detached &#xff0c;包含一个组件实例生命流程的最主要时间点。 …

Java就业前景如何?

Java还有出路吗&#xff1f; 2023年的就业市场依然经历着面临挑战&#xff0c;很多有经验有技术的人被淘汰下来&#xff0c;而马上又有一千多万的新鲜血液涌入就业市场。经济大环境对于各行各业的影响是非常大的&#xff0c;也为IT行业的内卷推波助澜。在2023年想学习Java入行就…

智慧养老平台建设方案word

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 1、 总体设计 1.1 建设原则 养老机构智能化管理工程是一项涉及多学科知识的复杂的系统工程&#xff0c;养老机构智能化管理围绕机构发展战略&#xff0c;立足机构需求&…

Reactor设计模式

一、Reactor设计模式 1、什么是Reactor设计模式&#xff1f; Reactor模式是高性能I/O设计中&#xff0c;常用的设计模式。其中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上&#xff0c;同时主线程阻塞在多路复用器上&#xff0c;一旦有I/O事件到来或是准备就绪…

stegano(图片隐写、摩斯密码)

附件是PDF&#xff0c;我们在选择内容时发现光标溢出了文本 说明这里还存在一些我们看不到的内容 直接CtrlA全选&#xff0c;CtrlC复制后新建一个纯文本文件 将复制的东西粘贴过去 粘贴后发现果然多出来了一些东西&#xff0c;提取出来 BABA BBB BA BBA ABA AB B AAB ABAA A…

大力出奇迹——GPT系列论文学习(GPT,GPT2,GPT3,InstructGPT)

目录 说在前面1.GPT1.1 引言1.2 训练范式1.2.1 无监督预训练1.2.2 有监督微调1.3 实验 2. GPT22.1 引言2.2 模型结构2.3 训练范式2.4 实验 3.GPT33.1引言3.2 模型结构3.3 训练范式3.4 实验3.4.1数据集3.5 局限性 4. InstructGPT4.1 引言4.2 方法4.2.1 数据收集4.2.2 各部分模型…