【问题标题】:Getting "ImportError: No module named 'MySQL'" and I don't know why得到“ImportError: No module named 'MySQL'”,我不知道为什么
【发布时间】:2022-01-21 07:44:26
【问题描述】:

这个问题困扰了我一段时间。所以,我在我的 Windows 10 计算机上使用 Python 3.9.10。为了安装mysql.connector,我在命令提示符下使用了这个命令:

pip install mysql-connector-python

而且,它返回这个:

Requirement already satisfied: mysql-connector-python in c:\users\aksha\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (8.0.24)
Requirement already satisfied: protobuf>=3.0.0 in c:\users\aksha\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from mysql-connector-python) (3.15.6)
Requirement already satisfied: six>=1.9 in c:\users\aksha\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from protobuf>=3.0.0->mysql-connector-python) (1.15.0)

接下来,我进入了python shell,输入了这段代码:

import mysql.connector

然后,得到这个错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import mysql.connector
ModuleNotFoundError: No module named 'mysql'

然后我回到命令提示符并输入以下命令:

pip3 install mysql-connector

这是我得到的:

Using cached mysql-connector-2.2.9.tar.gz (11.9 MB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for mysql-connector, since package 'wheel' is not installed.
Installing collected packages: mysql-connector
    Running setup.py install for mysql-connector ... done
Successfully installed mysql-connector-2.2.9

我返回 python shell 并输入相同的代码,它返回相同的错误。 我不知道我做错了什么以及为什么这个错误不断出现。我已经浏览过类似“ImportError: No module named 'MySQL'”的帖子,但我仍然面临同样的问题。我还检查了是否有任何名为 mysql.py 的 python 脚本,因为我听说它们会导致一些问题,但没有。

非常感谢任何帮助!

编辑 1: 刚刚在命令提示符下做了pip freeze。结果如下:

mysql-connector==2.2.9
mysql-connector-python==8.0.24
protobuf==3.15.6
six==1.15.0

不知道现在该做什么。

【问题讨论】:

  • 您使用的是什么 IDE?您的 IDE 可能使用的 Python 发行版与您安装它的发行版不同。
  • 我使用的是 IDLE Shell 3.9.10。任何与 Python 相关的代码。
  • 当您执行“pip freeze”时会得到什么?你在那里看到 mysql 模块吗?
  • 所以,我现在只是在命令提示符下做了一个 pip freeze 。这就是我得到的:mysql-connector==2.2.9 mysql-connector-python==8.0.24 protobuf==3.15.6 six==1.15.0
  • 在你的python shell中输入“import sys;sys.executable”,你会得到什么?

标签: python mysql python-3.x


【解决方案1】:

这对我有用:

首先在 IDLE shell 中运行此命令。

import sys; sys.executable

从这里你会得到一个 python 路径,如:C:\\Users\\prat\\AppData\\Local\\Programs\\Python\\Python39\\pythonw.exe

然后将此路径与 pip 安装一起使用:

entire_path -m pip install package-name

【讨论】:

  • 嘿!所以,这是我在命令提示符下输入的内容:C:\\Users\\aksha\\AppData\\Local\\Programs\\Python\\Python39\\pythonw.exe -m pip install mysql-connector-python。这是正确的吗?
  • 行了吗?
  • 输入命令并使用import mysql.connector检查它是否在IDLE中工作。同样的错误仍然存​​在。不知道为什么。
猜你喜欢
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
  • 2015-09-10
  • 1970-01-01
  • 2012-08-12
  • 2011-10-19
相关资源
最近更新 更多