Рассмотрим следующее взаимодействие: я conda install mysql, установка успешно завершена, но python отрицает, что когда-либо слышал об этом таинственном "mysql". Я должен быть очень плотным, но каким образом?
(база) igor @Ubuntu-1804-bionic-64-minimum: ~/rci $ conda install mysql Решая окружающую среду: сделано
окружающая среда местоположение: /home/igor/anaconda3
добавленные/обновленные спецификации: - mysql
Будут загружены следующие пакеты:
package | build
---------------------------|-----------------
mysql-5.7.22 | hef7e34c_0 74.3 MB
krb5-1.16.1 | hc83ff2d_6 1.4 MB
libntlm-1.4 | h14c3975_2 33 KB
cyrus-sasl-2.1.26 | h20670df_3 242 KB
------------------------------------------------------------
Total: 75.9 MB
Следующие НОВЫЕ пакеты будут установлены:
cyrus-sasl: 2.1.26-h20670df_3
krb5: 1.16.1-hc83ff2d_6
libntlm: 1.4-h14c3975_2
mysql: 5.7.22-hef7e34c_0
Продолжить ([y]/n)?
Загрузка и извлечение пакетов mysql-5.7.22 | 74.3 MB | ################################################## ## | 100% krb5-1.16.1 | 1.4 MB | ################################################## ## | 100% libntlm-1.4 | 33 KB | ################################################## ## | 100% cyrus-sasl-2.1.26 | 242 KB | ################################################## ## | 100% Подготовка транзакции: выполнено Проверка транзакции: сделано Выполнение транзакции: сделано (базовое) igor @Ubuntu-1804-bionic-64-минимальное: ~/rci $ python Python 3.6.6 | Anaconda custom (64-bit) | (по умолчанию, 28 июня 2018, 17:14:51) [GCC 7.2.0] на linux Введите "помощь", "авторское право", "кредиты" или "лицензия" для получения дополнительной информации.
import MySQLdb import mysql.connector Traceback (последний последний вызов): Файл "", строка 1, в ModuleNotFoundError: нет модуля с именем 'mysql'
Похоже, вы устанавливаете клиент MySQL вместо установки модуля python. Попробуйте использовать conda install mysql-python
(python2) или conda install mysqlclient
(python3).
В коде используйте только import MySQLdb
.
Проверять, выписываться:
import MySQLdb
host = "hostname"
user = "username"
password = "password"
database = "database_name"
db = MySQLdb.connect(
host,
user,
password,
database
)
cursor = db.cursor()
cursor.execute("SELECT * FROM table;")
result = cursor.fetchall()
cursor.close()
print(result)
Надеюсь, это было полезно.