Я очень плохо знаком с Ubuntu/Linux и Python, таким образом, совершенно возможно, что я пропускаю что-то очевидное здесь. Я запускаю Ubuntu 16.04 LTS, серверная версия.
Я только что установил официальный MySQL, connector/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? И как я фиксирую это?
Решение состоит в том, чтобы установить соответствующий модуль 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
>>>