直接运行pip install PyMySQL即可安装,无需额外配置或编译;它纯Python实现、跨平台、免C编译器依赖,在激活的虚拟环境中默认支持用户级安装,不需--user或sudo。

直接运行 pip install PyMySQL 就能装上,不需要额外配置或编译。它纯 Python 实现,跨平台、免依赖 C 编译器。
为什么不用加 --user 或 sudo?
多数现代 Python 环境(尤其是用 python -m venv .venv 创建的虚拟环境)默认就允许用户级安装。只要当前终端已激活虚拟环境(提示符前有 (.venv)),pip install PyMySQL 就只影响该环境。
如果没用虚拟环境,又遇到 PermissionError:
- Linux/macOS:优先加
--user,即pip install --user PyMySQL - Windows:一般不需要
sudo,避免用管理员权限运行终端 - 绝对不要在系统 Python 下硬加
sudo pip install,容易破坏系统工具链
需要认证插件支持时怎么装?
如果你连的是 MySQL 8.0+ 默认的 caching_sha2_password,或 MariaDB 的 ed25519,基础版 PyMySQL 会报错:Authentication plugin 'caching_sha2_password' is not supported。
这时得装带可选依赖的版本:
- 支持 SHA256 认证:
pip install PyMySQL[rsa] - 支持 MariaDB ed25519:
pip install PyMySQL[ed25519] - 两个都要:
pip install PyMySQL[rsa,ed25519]
注意:这些是 extras,不是独立包名,不能写成 pip install PyMySQL-rsa —— 那会报错找不到包。
装完怎么验证是否可用?
进 Python 交互式环境,执行:
import pymysql pymysql.VERSION
如果返回类似 (1, 2, 0) 的元组,说明导入成功且版本是 1.2.0。再试连一下本地 MySQL(哪怕连不上,只要不抛 ModuleNotFoundError 就算通过)。
容易忽略的一点:PyMySQL 不会自动替换 mysqlclient 或 mysql-connector-python 的 import 路径。如果你代码里写的是 import mysqlclient,装了 PyMySQL 也没用 —— 它们是互不兼容的独立实现。











