ModuleNotFoundError:Python 中没有名为“pymysql”的模块
ModuleNotFoundError: No module named ‘pymysql’ in Python
Python“ModuleNotFoundError: No module named ‘pymysql’”出现在导入前忘记安装模块PyMySQL
或安装在不正确的环境中。
要解决此错误,请通过运行命令安装模块pip install PyMySQL
。
在项目的根目录中打开终端并安装PyMySQL
模块。
# 👇️ in a virtual environment or using Python 2 pip install PyMySQL # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install PyMySQL # 👇️ if you get permissions error sudo pip3 install PyMySQL pip install PyMySQL --user # 👇️ if you don't have pip in your PATH environment variable python -m pip install PyMySQL # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install PyMySQL # 👇️ using py alias (Windows) py -m pip install PyMySQL # 👇️ for Anaconda conda install -c anaconda pymysql # 👇️ for Jupyter Notebook !pip install PyMySQL
安装PyMySQL包后,尝试像这样导入它:
import pymysql.cursors # Connect to the database connection = pymysql.connect(host='localhost', user='alice', password='s3cr3t', database='db', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) with connection: with connection.cursor() as cursor: # Create a new record sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" cursor.execute(sql, ('webmaster@python.org', 'very-secret')) # connection is not autocommit by default. So you must commit to save # your changes. connection.commit() with connection.cursor() as cursor: # Read a single record sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s" cursor.execute(sql, ('webmaster@python.org',)) result = cursor.fetchone() print(result)
常见错误原因
出现错误的原因有多种:
- 没有
PyMySQL
通过运行安装包pip install PyMySQL
。 - 在与您正在使用的版本不同的 Python 版本中安装包。
- 全局安装包,而不是在您的虚拟环境中。
- 您的 IDE 运行的 Python 版本不正确。
- 命名您的模块
pymysql.py
,这将影响官方模块。 - 声明一个名为
pymysql
which 的变量将隐藏导入的变量。
如果错误仍然存在,请获取您的 Python 版本并确保您使用正确的 Python 版本安装包。
python --version
例如,我的 Python 版本是3.10.4
,所以我会安装 PyMySQL 包pip3.10 install PyMySQL
。
pip3.10 install PyMySQL # 👇️ if you get permissions error use pip3 (NOT pip3.X) sudo pip3 install PyMySQL
请注意,版本号对应于我正在使用的版本pip
。
pip
如果您的计算机上未设置PATH ,请替换pip
为
python3 -m pip
:
# 👇️ make sure to use your version of Python, e.g. 3.10 python3 -m pip install PyMySQL
如果错误仍然存在,请尝试重新启动您的 IDE 和开发服务器/脚本。
检查包是否安装
您可以
通过运行命令检查是否PyMySQL
安装了软件包pip show PyMySQL
。
# 👇️ check if you have PyMySQL installed pip show PyMySQL # 👇️ if you don't have pip set up in PATH python -m pip show PyMySQL
该pip show PyMySQL
命令将声明该包未安装或显示有关该包的一堆信息,包括该包的安装位置。
确保你的 IDE 使用正确的 Python 版本
如果未安装该包,请确保您的 IDE
使用的是正确版本的 Python。
PyMySQL
包,或者您的 IDE 可能被设置为使用不同的版本。例如,在 VSCode 中,您可以按CTRL + Shift + P
或(在 Mac 上为⌘
+ Shift
+ P
)打开命令面板。
然后在字段中键入“Python 选择解释器”。
然后从下拉菜单中选择正确的 python 版本。
在虚拟环境中安装包
如果您使用的是虚拟环境,请确保您是PyMySQL
在虚拟环境中而不是全局安装。
如果您还没有虚拟环境,可以尝试创建一个。
# 👇️ use correct version of Python when creating VENV python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install PyMySQL in virtual environment pip install PyMySQL
如果该python3 -m venv venv
命令不起作用,请尝试以下 2 个命令:
python -m venv venv
py -m venv venv
您的虚拟环境将使用用于创建它的 Python 版本。
pymysql.py
PyMySQL
您也不应该声明一个名为pymysql
as 的变量,这也会影响原始模块。
尝试重新安装包
如果错误未解决,请尝试卸载该PyMySQL
软件包,然后
重新安装。
# 👇️ check if you have PyMySQL installed pip show PyMySQL # 👇️ if you don't have pip set up in PATH python -m pip show PyMySQL # 👇️ uninstall PyMySQL pip uninstall PyMySQL # 👇️ if you don't have pip set up in PATH python -m pip uninstall PyMySQL # 👇️ install PyMySQL pip install PyMySQL # 👇️ if you don't have pip set up in PATH python -m pip install PyMySQL
尝试重新启动您的 IDE 和开发服务器/脚本。
您也可以尝试升级 PyMySQL 包的版本。
pip install PyMySQL --upgrade # 👇️ if you don't have pip set up in PATH python -m pip install PyMySQL --upgrade
PyMySQL
.目录
- 在 Windows 上安装 pymysql
- 在 macOS 或 Linux 上安装 pymysql
- 在 Visual Studio Code 中安装 pymysql
- 在 PyCharm 中安装 pymysql
- 在 Anaconda 中安装 pymysql
- 在 Jupyter Notebook 中安装 pymysql
在 Windows 上安装 pymysql
pymysql
在 Windows 上安装模块:
- 在搜索栏中键入 CMD,然后打开命令提示符应用程序。
- 键入
pip install pymysql
并按 Enter。
pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for Python 3 python3 -m pip install pymysql # 👇️ using py alias py -m pip install pymysql # 👇️ if you get permissions error pip install pymysql --user # 👇️ for Anaconda conda install -c anaconda pymysql
如果命令不成功,请尝试以管理员身份运行 CMD。
If you get the error
‘pip’ is not recognized as an internal or external command,
use the python -m
command when installing pymysql
.
python -m pip install pymysql python3 -m pip install pymysql py -m pip install pymysql
Alternatively, you can install the pymysql
module in a virtual environment:
- Open the root directory of your project.
- Press
Shift
and right-click in Explorer.
- Click on “Open PowerShell window here”.
- Run the following commands.
# 👇️ might also be: "python3 -m venv venv" python -m venv venv # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ install pymysql in virtual environment pip install pymysql
If the python -m venv venv
command doesn’t work, try the following 2 commands:
python3 -m venv venv
py -m venv venv
.
If you see an error message that
ps1 cannot be loaded because running scripts is disabled on this system,
run the following command, type “yes” when prompted and rerun the activation
command.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
pymysql
module is installed by using the pip show pymysql
command.pip show pymysql pip3 show pymysql python -m pip show pymysql python3 -m pip show pymysql
The pip show pymysql
command will either state that the package is not
installed or show a bunch of information about the package, including the
location where the package is installed.
# Install pymysql on macOS or Linux
To install pymysql on macOS or Linux:
- Search for “terminal” and start the application.
- Type
pip install pymysql
and press Enter.
pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you get permissions error sudo pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for python 3 python3 -m pip install pymysql # 👇️ alternative if you get permissions error pip install pymysql --user # 👇️ for Anaconda conda install -c anaconda pymysql
If you get an error that pip
isn’t found, use the python -m
command.
python -m pip install pymysql python3 -m pip install pymysql
If you get a permissions error, prefix the command with sudo
.
sudo pip install pymysql sudo pip3 install pymysql
Alternatively, you can install the pymysql
package in a virtual environment:
- Open your terminal in the root directory of your project.
- Run the following commands.
# 👇️ could also be "python -m venv venv" python3 -m venv venv # 👇️ activate virtual env on macOS or Linux source venv/bin/activate # 👇️ install pymysql in virtual environment pip install pymysql
Your virtual environment will use the version of Python that was used to create
it.
python3 -m venv venv
command doesn’t work, use python -m venv venv
instead.You can use the pip show
command to verify
pymysql
has been installed
successfully.
pip show pymysql pip3 show pymysql python -m pip show pymysql python3 -m pip show pymysql
The pip show pymysql
command will either state that the package is not
installed or show a bunch of information about the package.
# Install pymysql in Visual Studio Code
To install pymysql in Visual Studio Code:
- Press CTRL + ` (Backtick) on your keyboard to open the terminal.
- Run the
pip install pymysql
command to install thepymysql
module.
pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you get permissions error sudo pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for python 3 python3 -m pip install pymysql # 👇️ using py alias py -m pip install pymysql # 👇️ alternative if you get permissions error pip install pymysql --user
CTRL+Shift+P
and then typing “View: Toggle Terminal”.When installing Python modules in Visual Studio code, make sure that
your IDE is configured to use the correct Python version.
Press CTRL+Shift+P
or (⌘
+ Shift
+ P
on Mac) to open the command
palette.
Then type “Python select interpreter” in the field.
Then select the correct Python version from the dropdown menu.
You can use the python --version
command if you need to get your version of
Python.
python --version python3 --version
You can also try creating a virtual environment if you don’t already have one.
# 👇️ could also be "python -m venv venv" or "py -m venv venv" python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install pymysql in virtual environment pip install pymysql
Your virtual environment will use the version of Python that was used to create
it.
# Install pymysql in PyCharm
To install pymysql in PyCharm:
- Press
Alt+F12
on your keyboard to open the terminal. - Run the
pip install pymysql
command to install thepymysql
module.
pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you get permissions error sudo pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for python 3 python3 -m pip install pymysql # 👇️ using py alias py -m pip install pymysql # 👇️ alternative if you get permissions error pip install pymysql --user
Alternatively, you can use the IDE itself to install the module.
- Click on “File” > “Settings” > “Project” > “Python Interpreter”.
- Click on the
+
icon and typePyMySQL
. - Click on “Install Package”.
Click on “File” > “Settings” > “Project” > “Python Interpreter”.
Then select the correct Python version from the dropdown menu.
You can use the python --version
command if you need to get your version of
Python.
python --version python3 --version
# Install pymysql in Anaconda
To install pymysql in Anaconda:
- Open your Anaconda Navigator.
- Click on “Environments” and select your project.
- Type
pymysql
in the search bar to the right. - Tick the
pymysql
package and click on “Apply”.
Alternatively, you can install the pymysql
package with a command.
If you are on Windows, search for “Anaconda Prompt” and open the
application.
If you are on macOS or Linux, open your terminal.
Run the following command to install the pymysql
package.
# 👇️ using conda conda install -c anaconda pymysql # 👇️ Alternatively use `pip` pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you get permissions error sudo pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for python 3 python3 -m pip install pymysql # 👇️ using py alias py -m pip install pymysql # 👇️ alternative if you get permissions error pip install pymysql --user
Click on the
following article
if you need to install a specific version of the package using Anaconda.
# Install pymysql in Jupyter Notebook
To install pymysql in Jupyter Notebook:
- Open your terminal and type “jupyter notebook”.
- Click on “New” and then “Terminal” in the browser tab.
- Type
pip install pymysql
and press Enter.
# 👇️ using pip pip install pymysql # 👇️ for Python 3 pip3 install pymysql # 👇️ if you get permissions error sudo pip3 install pymysql # 👇️ if you don't have pip in your PATH environment variable python -m pip install pymysql # 👇️ for python 3 python3 -m pip install pymysql # 👇️ using py alias py -m pip install pymysql # 👇️ using conda conda install -c anaconda pymysql # 👇️ alternative if you get permissions error pip install pymysql --user
Alternatively, you can use the Python ipykernel.
- Open your terminal and type “jupyter notebook”.
-
Click on “New” and then click on “Python 3 (ipykernel)”.
-
Type
!pip install pymysql
and click on “Run”.
Note that the pip install
command must be prefixed with an exclamation mark if
you use this approach.
!pip install pymysql
Once you type the command, click “Run” to install the pymysql
module.
If you get a permissions error, e.g. “[WinError: 5] Access is denied”, add the
--user
option to the installation command.
!pip install pymysql --user
如果错误仍然存在,请尝试
重新启动 Jupyter 内核
并重新运行该命令。