我对 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'
在一个类似的问题上,我看到有人建议如果路径中没有 python,连接器可能没有正确安装。我在安装过程中似乎没有遇到任何问题;文件 python3 肯定在/usr/bin
路径中,但似乎是指向同一位置的文件 python3.5 的链接。运行命令which python3
会给出输出usr/bin/python3
,但运行which python
不会给出任何输出。
这个包显然还包含一个 C 库,它似乎安装在 中usr/lib/python3/dist-packages
。该目录中没有任何其他与 MySQL 相关的东西。
我应该寻找什么来知道这是连接器安装的问题还是 Python 本身的问题?我该如何解决这个问题?
答案1
解决方法是安装相应的Python 3模块:
sudo apt-get install python3-mysql.connector
它修复了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
>>>
对于 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
>>>