Import Error: 没有名为‘ MySQL’的模块

我已经成功地下载了用于 MySQL 的 Connector/Python:

import mysql.connector

我收到以下错误消息:

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

我不明白为什么 MySQL 没有被识别出来。

426577 次浏览

试试那个

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz


gunzip mysql-connector-python-2.1.3.tar.gz


tar xf mysql-connector-python-2.1.3.tar


cd mysql-connector-python-2.1.3


sudo python3 setup.py install

我发现@gdxn96解决方案对我来说很有用,但只需要做一点改变。

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz
tar -zxvf mysql-connector-python-2.1.3.tar
cd mysql-connector-python-2.1.3
sudo python3 setup.py install

注意,我刚刚在 ubuntu16.04服务器上安装了 mysql:

  • 使用存储库 sudo apt-get install python-mysqldb: 安装正确,但不幸的是 python 返回了 ImportError: No module named 'mysql'
  • 使用来自 Mysql: wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python_2.1.4-1ubuntu16.04_all.deb的 ubuntu 软件包。 sudo dpckg -i package_name正确安装,但 python 返回了相同的错误。
  • 使用 tar.gz 文件,用 python 安装,工作正常。
    • wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.6.tar.gz(当时使用2.1.4)
    • tar -xf mysql-connector-python-2.1.6.tar.gz
    • cd mysql-connector-python-2.1.6/
    • sudo python3 setup.py install

没有调查为什么前两个失败,可能会尝试以后。 希望这对谁有帮助。

我也面临着同样的问题,我的情况 Python 2.7.11 Pip 9.0.1 CentOS 发行版5.11(最终版)

Python 解释程序错误-

>>> import mysql.connector
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
>>>

使用 pip 搜索可用的模块-

$ pip search mysql-connector | grep --color mysql-connector-python






mysql-connector-python-rf (2.2.2)        - MySQL driver written in Python
mysql-connector-python (2.0.4)           - MySQL driver written in Python

安装 mysql-connect-python-rf-

$ pip install mysql-connector-python-rf

确认一下

$ python
Python 2.7.11 (default, Apr 26 2016, 13:18:56)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>

谢谢 =)

对于 python3和更高版本,请使用下面的命令: $pip3 install mysql-connect-python-rf

可以从 cli 简单安装吗?

pip3 install mysql-connector-python-rf

包名称与导入库名称不同

或者我的通用变体代码:

import pip
pip.main(['install','mysql-connector-python-rf'])

新版本的 pip:

from pip._internal import main
main(['install','mysql-connector-python-rf'])

最好是在运行 python 安装时安装所需的模块(如果有很多的话)

您需要使用下列命令之一。哪一个取决于不同的-2操作系统和软件,你有和使用。

sudo easy_install mysql-python (mix os)
sudo pip install mysql-python (mix os)
sudo apt-get install python-mysqldb (Linux Ubuntu, ...)
cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
yum install MySQL-python (Linux Fedora, CentOS ...)

我犯的一个愚蠢的错误是把 mysql.py保持在同一个目录中。尝试将 mysql.py重命名为另一个名称,这样 python就不会将其视为模块。

pip3 install mysql-connector 安装打包的 Python (如果您使用的是 Python3,那么您可以使用 pip)。

我只是将源文件夹 connector从文件夹 mysql移到了 site-packages。 运行 import connector

我发现了另一个原因: 如果程序文件的路径包含空格或特殊字符,则会得到此错误。

这个问题对我来说就是一场瘟疫! ! !100% 的解决方案是忘记使用 mysql 模块: import mysql.connector,而是通过导入 pymysql 使用 Pymysql。我通过以下说明安装了它: python3-m pip install PyMySQL

修改了:

  1. 导入声明
  2. 连接器
  3. 光标

在那之后,一切都很顺利,希望这个能有所帮助!

您需要使用 anaconda 来管理 python 环境依赖项

conda install -c anaconda mysql-connector-python

用于64位窗口

用轮子安装

pip install wheel download from http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

对于 python3.x:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl

对于 python 2.7:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl

我尝试了所有的答案,但没有为我工作。 这是一个 Python 版本的问题,最后,我意识到 python3脚本需要显式的 python3 pip 命令,至少在 ubuntu18上是这样的。

python3 -m pip install mysql-connector
sudo python3 -m pip install mysql-connector-python

我的项目使用的是 pipenv:

pipenv install mysql-connector-python

快跑

pip list

查看已安装的软件包列表。如果已安装 那就没问题。

记住不要将 Python 脚本文件命名为 mysql.py

我试过用 apt 和 pip 重新安装。 但唯一起作用的是 从源代码安装

在 Ubuntu 18.04 x64上

@ 小子 谢谢,我想以这个答案为基础。如果您正在使用蟒蛇或任何其他形式的环境管理,请确保从该环境中选择 Python。

sudo /home/joseph/anaconda3/envs/stocks/bin/python -m pip install mysql-connector-python

我用以下步骤解决了同样的问题: 步骤1-在终端类型 echo% path% 中查找类似于“ C: UserAppDataLocalProgramsPython39”的文件 步骤2-in vs 代码类型“ ctrl + shift + p”选择 python 解释器 步骤3-确保您选择的解释器路径正确,您在使用 echo% path% 时找到了您的解释器

现在运行程序!

我在 Mac 和 linux 上都面临同样的问题,尽管使用了其他答案中提到的命令安装了连接器。 以下命令对我有效。

sudo python3 -m ensurepip --default-pip
python3 -m pip --version
sudo python3 -m pip install mysql-connector-python

我不知道他们有什么不同,因为我不是一个 Python 程序员,但想知道是否有人可以启发。

我是这样解决我这边的问题的。

问题 我既不能编译,也没有在 VSCode 上可用的包。

背景 系统: Ubuntu 18.04 Python 版本: 3.6. * 已安装的软件包

  1. Mysql
  2. Mysql-Connector-python
  3. Mysql-Connector-python-rf

我是怎么解决的: 在我看到这篇文章之前,没有什么真正起作用: Https://dev.mysql.com/doc/connector-python/en/connector-python-cext-development.html

在 python 控制台上,只需设置

use_pure = True

这样,我就可以使用基于 python 的连接器了。

import mysql.connector

但是,如果出现问题,可以通过 _ mysql _ connect 模块使用 C 扩展。

参考文献:

  1. Https://dev.mysql.com/doc/connector-python/en/connector-python-cext-module.html
  2. Https://www.reddit.com/r/learnpython/comments/a0q4bq/mysqlconnector_how_to_use_use_puretrue/
  3. Https://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
  4. Https://overiq.com/mysql-connector-python-101/installing-mysql-connector-python/