MySQL 连接器/python 导入错误:没有名为“mysql”的模块

pur*_*cho 9 mysql python python3

我对 Ubuntu/Linux 和 Python 非常陌生,所以我完全有可能在这里遗漏了一些明显的东西。我正在运行 Ubuntu 16.04 LTS,服务器版本。

我刚刚安装了官方 MySQL 连接器/python(2.1.7,python3 版本)使用dpkg -i [package-name].deb(显然我[package-name]用实际名称替换)。它被列为与 Python 3.5 兼容,这是我拥有的版本。当我尝试通过 Python 解释器使用 验证安装时import mysql.connector,我只是收到以下错误:

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

在一个类似的问题上,我看到它表明如果 python 不在路径中,连接器可能没有正确安装。我在安装过程中似乎没有遇到任何问题;文件 python3/usr/bin肯定在路径中,但似乎是同一位置中文件 python3.5 的链接。运行命令which python3给出输出,usr/bin/python3但运行which python没有输出。

该软件包显然还包含一个 C 库,它似乎已安装在usr/lib/python3/dist-packages. 该目录中的任何其他内容都称为与 MySQL 相关的任何内容。

我应该寻找什么来知道这是连接器安装的问题还是 Python 本身的问题?我该如何解决这个问题?

N0r*_*ert 15

解决办法是安装对应的Python 3模块:

sudo apt-get install python3-mysql.connector
Run Code Online (Sandbox Code Playgroud)

它修复了import mysql.connector错误:

$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 
Run Code Online (Sandbox Code Playgroud)

与 Python 2 类似:

sudo apt-get install python-mysql.connector

$ python2
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 
Run Code Online (Sandbox Code Playgroud)