PyCharm中如何安装第三方库?
本教程由:大侠(AhcaoZhu) 编写。
一、在安装之前,你如何知道你的系统已经安装了哪些库?
已知的有多种方法,可以知道你的系统已经安装了哪些库或模块。下面一一列举,其实,你知道其中一种就已经足够了。
1、在window的资源管理器,查找Python安装目录
在 <安装目录>\Lib\ 下面,就是已经安装的库。
2、在PyCharm 集成编辑器中
1)打开控制台。键入命令 help()
如果你找不到控制台,见下图中(1)
2)然后,再键入:modules
3)你可能会得到以下的列表,表明你的系统已安装的库或模块。
请注意:因为每个机器上安装的系统版本以及初始化情况不一样,所以下面只是示例。你的机器上显示的大致如此。
这上面列示的模块,你可以继续在help>提示符下,直接键入模块名称,即可以得到该模块非常详尽的帮助,但它是英文解释。
3、在设置中
打开
设置
1)打开方式一:菜单文件
→设置
。或者,如下图所示:
2)打开方式二:
打开后,找到项目解释器,在右边列表中,清楚列明了各模块当前安装的模块,以及最新的的模块。你是否需要升级?(你可以决定自动升级,不升级,或手动升级)
二、安装模块的方法
基本与上面找到安装模块相对应,安装方法通常有以下几种:
1、在IDE编写代码时,我们直接导入模块,不管它是否安装:
import matplotlib
如上图所示,当这个模块没有安装时,系统的即时帮助会显示一个红色小灯,当鼠标悬停在代码上时,它会跳出安装软件包matplotlib
这个提示。
这时我们直接点击它,即可以安装。
2、在设置
中安装
打开
设置
的方法,见上面 第一、3)。
在这一界面中,可以搜索模块名字,并安装。或者:
当某一模块不是最新的版本,你想升级到最新的版本时,也可以直接点击列表中右边的链接,直接升级安装。
3、在软件包
中安装
如下图:按照图示顺序,先搜索,查看模块说明、帮助,最后点击4)进行安装。
4、在终端
下安装:
打开终端的方法:(择一即可)
1)选择PyCharm IDE 窗口底部的Python控制台
终端
2)Windows下,按下WIN+R键(或任务栏
的开始菜单
→搜索程序和文件
,输入cmd
回车
在以上打开的终端中,输入:
pip install <模块名> 回车
这个是显得最专业的方法,当然也是最复杂的方法。
pip命令,不带参数时,会回显命令行参数的帮助。请参阅。
另外,用pip的优点还有,它可以写入批处理,进行计划调度和远程安装等。
三、我如何知道需要安装哪些模块?哪些模块分别有什么作用?
一个重要原则是,当需要进行某方面的研究或开发时,安装这些相关的模块;
在以上介绍的软件包中,尝试输入你想像的模块的名字,它会出现一个列表,点击你感兴趣的名字,在右边会出现版本、模块功能介绍等信息。你先花一点儿时间了解它,胜过你匆忙地安装它。也许有更好的选择。
下面我列出了官方 V3.7.8 版本中介绍的常见模块以及它们的分类,供参考。(当然它也许有的内容已经过时了)
Python 标准库
Python语言参考描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
> Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
> Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
> 在这个标准库以外还存在**成千上万**并且不断增加的其他组件 (从单独的程序、模块、软件包直到完整的应用开发框架),访问 Python 包索引 即可获取这些第三方包。
- 概述
- 可用性注释
- 内置函数
- 内置常量
由 site 模块添加的常量 - 内置类型
逻辑值检测
布尔运算 — and, or, not
比较运算
数字类型 — int, float, complex
迭代器类型
序列类型 — list, tuple, range
文本序列类型 — str
二进制序列类型 — bytes, bytearray, memoryview
集合类型 — set, frozenset
映射类型 — dict
上下文管理器类型
其他内置类型
特殊属性 - 内置异常
基类
具体异常
警告
异常层次结构 - 文本处理服务
string — 常见的字符串操作
re — 正则表达式操作
difflib — 计算差异的辅助工具
textwrap — 文本自动换行与填充
unicodedata — Unicode 数据库
stringprep — 因特网字符串预备
readline — GNU readline 接口
rlcompleter — GNU readline 的补全函数 - 二进制数据服务
struct — 将字节串解读为打包的二进制数据
codecs — 编解码器注册和相关基类 - 数据类型
datetime — 基本的日期和时间类型
calendar — 日历相关函数
collections — 容器数据类型
collections.abc — 容器的抽象基类
heapq — 堆队列算法
bisect — 数组二分查找算法
array — 高效的数值数组
weakref — 弱引用
types — 动态类型创建和内置类型名称
copy — 浅层 (shallow) 和深层 (deep) 复制操作
pprint — 数据美化输出
reprlib — 另一种 repr() 实现
enum — 枚举类型支持 - 数字和数学模块
numbers — 数字的抽象基类
math — 数学函数
cmath ——关于复数的数学函数
decimal — 十进制定点和浮点运算
fractions — 分数
random — 生成伪随机数
statistics — 数学统计函数 - 函数式编程模块
itertools — 为高效循环而创建迭代器的函数
functools — 高阶函数和可调用对象上的操作
operator — 标准运算符替代函数 - 文件和目录访问
pathlib — 面向对象的文件系统路径
os.path — 常见路径操作
fileinput — 迭代来自多个输入流的行
stat — 解析 stat() 结果
filecmp — 文件及目录的比较
tempfile — 生成临时文件和目录
glob — Unix 风格路径名模式扩展
fnmatch — Unix 文件名模式匹配
linecache — 随机读写文本行
shutil — 高阶文件操作
macpath — Mac OS 9 路径操作函数 - 数据持久化
pickle —— Python 对象序列化
copyreg — 注意 pickle 支持函数
shelve — Python 对象持久化
marshal — 内部 Python 对象序列化
dbm — Unix “数据库” 接口
sqlite3 — SQLite 数据库 DB-API 2.0 接口模块 - 数据压缩和存档
zlib — 与 gzip 兼容的压缩
gzip — 对 gzip 格式的支持
bz2 — 对 bzip2 压缩算法的支持
lzma — 用 LZMA 算法压缩
zipfile — 使用ZIP存档
tarfile — 读写tar归档文件 - 文件格式
csv — CSV 文件读写
configparser — 配置文件解析器
netrc — netrc 文件处理
xdrlib — 编码与解码 XDR 数据
plistlib — 生成与解析 Mac OS X .plist 文件 - 加密服务
hashlib — 安全哈希与消息摘要
hmac — 基于密钥的消息验证
secrets — 生成安全随机数字用于管理密码 - 通用操作系统服务
os — 操作系统接口模块
io — 处理流的核心工具
time — 时间的访问和转换
argparse — 命令行选项、参数和子命令解析器
getopt — C 风格的命令行选项解析器
模块 logging — Python 的日志记录工具
logging.config — 日志记录配置
logging.handlers — 日志处理
getpass — 便携式密码输入工具
curses — 终端字符单元显示的处理
curses.textpad — 用于 curses 程序的文本输入控件
curses.ascii — 用于 ASCII 字符的工具
curses.panel — curses 的 panel 栈扩展
platform — 获取底层平台的标识数据
errno — 标准 errno 系统符号
ctypes — Python 的外部函数库 - 并发执行
threading — 基于线程的并行
multiprocessing — 基于进程的并行
concurrent 包
concurrent.futures — 启动并行任务
subprocess — 子进程管理
sched — 事件调度器
queue — 一个同步的队列类
_thread — 底层多线程 API
_dummy_thread — _thread 的替代模块
dummy_threading — 可直接替代 threading 模块。
contextvars 上下文变量 - 上下文变量
手动上下文管理
asyncio 支持
网络和进程间通信
asyncio — 异步 I/O
socket — 底层网络接口
ssl — 套接字对象的TLS/SSL封装
select — Waiting for I/O 完成
selectors — 高级 I/O 复用库
asyncore — 异步socket处理器
asynchat — 异步 socket 指令/响应 处理器
signal — 设置异步事件处理程序
mmap — 内存映射文件支持 - 互联网数据处理
email — 电子邮件与 MIME 处理包
json — JSON 编码和解码器
mailcap — Mailcap 文件处理
mailbox — 操作多种格式的邮箱
mimetypes — 映射文件夹到 MIME 类型
base64 — Base16, Base32, Base64, Base85 数据编码
binhex — 对binhex4文件进行编码和解码
binascii — 二进制和 ASCII 码互转
quopri — 编码与解码经过 MIME 转码的可打印数据
uu — 对 uuencode 文件进行编码与解码 - 结构化标记处理工具
html — 超文本标记语言支持
html.parser — 简单的 HTML 和 XHTML 解析器
html.entities — HTML 一般实体的定义 - XML处理模块
xml.etree.ElementTree — ElementTree XML API
xml.dom — 文档对象模型 API
xml.dom.minidom — 最小化的 DOM 实现
xml.dom.pulldom — 支持构建部分 DOM 树
xml.sax — 支持 SAX2 解析器
xml.sax.handler — SAX 处理程序的基类
xml.sax.saxutils — SAX 工具集
xml.sax.xmlreader — 用于 XML 解析器的接口
xml.parsers.expat — 使用 Expat 的快速 XML 解析 - 互联网协议和支持
webbrowser — 方便的Web浏览器控制器
cgi — 通用网关接口支持
cgitb — 用于 CGI 脚本的回溯管理器
wsgiref — WSGI 工具和引用的实现
urllib — URL 处理模块
urllib.request — 用于打开 URL 的可扩展库
urllib.response — urllib 使用的 Response 类
urllib.parse 用于解析 URL
urllib.error — urllib.request 引发的异常类
urllib.robotparser — robots.txt 语法分析程序
http — HTTP 模块
http.client — HTTP 协议客户端
ftplib — FTP 协议客户端
poplib — POP3 协议客户端
imaplib — IMAP4 协议客户端
nntplib — NNTP 协议客户端
smtplib —SMTP协议客户端
smtpd — SMTP 服务器
telnetlib – Telnet 客户端
uuid — RFC 4122 定义的UUID对象
socketserver — 用于网络服务器的框架
http.server — HTTP 服务器
http.cookies — HTTP状态管理
http.cookiejar —— HTTP 客户端的 Cookie 处理
xmlrpc — XMLRPC 服务端与客户端模块
xmlrpc.client — XML-RPC 客户端访问
xmlrpc.server — 基本 XML-RPC 服务器
ipaddress — IPv4/IPv6 操作库 - 多媒体服务
audioop — 处理原始音频数据
aifc — 读写 AIFF 和 AIFC 文件
sunau — 读写 Sun AU 文件
wave — 读写WAV格式文件
chunk — 读取 IFF 分块数据
colorsys — 颜色系统间的转换
imghdr — 推测图像类型
sndhdr — 推测声音文件的类型
ossaudiodev — 访问兼容OSS的音频设备 - 国际化
gettext — 多语种国际化服务
locale — 国际化服务 - 程序框架
turtle — 海龟绘图
cmd — 支持面向行的命令解释器
shlex —— 简单的词义分析
Tk图形用户界面(GUI)
tkinter — Tcl/Tk的Python接口
tkinter.ttk — Tk主题小部件
tkinter.tix — TK扩展包
tkinter.scrolledtext — 滚动文字控件
IDLE
其他图形用户界面(GUI)包 - 开发工具
typing — 类型标注支持
pydoc — 文档生成器和在线帮助系统
doctest — 测试交互性的Python示例
unittest — 单元测试框架
unittest.mock — 模拟对象库
unittest.mock 上手指南
2to3 - 自动将 Python 2 代码转为 Python 3 代码
test — Python回归测试包
test.support — Utilities for the Python test suite
test.support.script_helper — Utilities for the Python execution tests - 调试和分析
bdb — Debugger framework
faulthandler —— 转储 Python 的跟踪信息
pdb — Python的调试器 - Python 分析器
timeit — 测量小代码片段的执行时间
trace — 跟踪Python语句执行
tracemalloc — 跟踪内存分配 - 软件打包和分发
distutils — 构建和安装 Python 模块
ensurepip — Bootstrapping the pip installer
venv — 创建虚拟环境
zipapp —— 管理可执行的 Python zip 打包文件 - Python运行时服务
sys — 系统相关的参数和函数
sysconfig — Provide access to Python’s configuration information
builtins — 内建对象
__main__
— 顶层脚本环境
warnings —— 警告信息的控制
dataclasses — 数据类
contextlib — 为 with语句上下文提供的工具
abc — 抽象基类
atexit — 退出处理器
traceback — 打印或检索堆栈回溯
__future__
— Future 语句定义
gc — 垃圾回收器接口
inspect — 检查对象
site —— 站点专属的配置钩子
自定义 Python 解释器
code — 解释器基础类
codeop — 编译Python代码 - 导入模块
zipimport — 从 Zip 存档中导入模块
pkgutil — 包扩展模块工具
modulefinder — 查找脚本使用的模块
runpy ——查找并执行 Python 模块
importlib — import 的实现 - Python 语言服务
parser — 访问 Python 解析树
ast — 抽象语法树
symtable ——访问编译器的符号表
symbol — 与 Python 解析树一起使用的常量
token — 与Python解析树一起使用的常量
keyword — 检验Python关键字
tokenize – 对 Python 代码使用的标记解析器
tabnanny — 模糊缩进检测
pyclbr — Python 模块浏览器支持
py_compile — 编译 Python 源文件
compileall — Byte-compile Python libraries
dis — Python 字节码反汇编器
pickletools — pickle 开发者工具集 - 杂项服务
formatter — 通用格式化输出
Windows系统相关模块
msilib — Read and write Microsoft Installer files
msvcrt — 来自 MS VC++ 运行时的有用例程
winreg — Windows 注册表访问
winsound —— Windows 系统的声音播放接口 - Unix 专有服务
posix — 最常见的 POSIX 系统调用
pwd — 用户密码数据库
spwd —— shadow 密码库
grp — 组数据库
crypt —— 检查 Unix 口令的函数
termios — POSIX 风格的 tty 控制
tty — 终端控制功能
pty — 伪终端工具
fcntl —— 系统调用 fcntl 和 ioctl
pipes — 终端管道接口
resource — 资源使用信息
nis — Sun 的 NIS (黄页) 接口
Unix syslog 库例程 - 被取代的模块
optparse — 解析器的命令行选项
imp —— 由代码内部访问 import 。 - 未创建文档的模块
- 平台特定模块