WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Connector/Python понимает расширение C, которое взаимодействует с
библиотекой MySQL C клиента. Для запросов, которые возвращают большие наборы
результатов, использование расширение C, может улучшить работу по сравнению с
pure Python-реализацией протокола клиент-сервер.
Раздел 8.1
описывает, как запросы, которые используют модуль
Расширение C было добавлено в версии 2.1.1 и включено по умолчанию с
8.0.11. Опция Установки Connector/Python с версии 2.1.1 понимают параметр
По умолчанию В Linux реализации C и Python доступны как различные пакеты.
Можно установить одно или оба решения на той же самой системе.
На Windows и macOS пакеты включают оба. Для установок Connector/Python, которые включают оба варианта, это может
произвольно быть переключено через
Для установок Connector/Python, которые не включают расширение C,
передача Для более старых установок Connector/Python, которые не знают ничего
о расширении C (перед версией 2.1.1) передача
В macOS если ваша установка Connector/Python включает расширение C, но
скрипты Python неспособны использовать его, попытайтесь установить вашу
переменную Если бы вы построили расширение C из исходного текста, этот каталог
должен быть тем, который содержит библиотеку клиента C, с которой
было построено расширение. Если необходимо проверить, знает ли установка Connector/Python о
расширении C, проверьте значение Следующий пример иллюстрирует один способ добавить
Если Чтобы использовать расширение C непосредственно, импортируйте
модуль Для получения дополнительной информации см.
главу 11.
Глава 8. Расширение Connector/Python C
mysql.connector
, могут использовать расширение
C. Также возможно использовать расширение C непосредственно, импортируя
модуль _mysql_connector
вместо
mysql.connector
.
См. раздел 8.2.
Для получения информации об установке расширения C см.
главу 4.use_pure
определяет, какая
версия применяется: Python или C.
8.1. Разработка приложений с расширением С Connector/Python
use_pure
для
mysql.connector.connect()
, который указывает,
использовать ли чистый интерфейс Python для MySQL или расширение C, которое
пользуется библиотекой клиента:use_pure
(используйте
Python) = False
с MySQL 8 или
True
в более ранних версиях. Если расширение C
недоступно на системе, тогда use_pure
=
True
.use_pure=False
(использовать C) или
use_pure=True
(использовать Python)
как параметр mysql.connector.connect()
.use_pure=False
mysql.connector.connect()
поднимает исключение.use_pure
в
mysql.connector.connect()
поднимает исключение независимо от его значения.DYLD_LIBRARY_PATH
к каталогу,
содержащему библиотеку клиента C. Например:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib (for sh)
setenv DYLD_LIBRARY_PATH /usr/local/mysql/lib (for tcsh)
HAVE_CEXT
.
Есть разные подходы для этого. Предположим что ваши обычные аргументы для
mysql.connector.connect()
определяются в словаре:
config = {
'user': 'scott',
'password': '
password
',
'host': '127.0.0.1',
'database': 'employees',
}
use_pure
к аргументам соединения:
import mysql.connector
if mysql.connector.__version_info__ > (2, 1) and
mysql.connector.HAVE_CEXT:
config['use_pure'] = False
use_pure=False
и расширение C недоступно, тогда Connector/Python
автоматически отступит к чистому внедрению Python.
8.2. Дополнительный модуль _mysql_connector C
_mysql_connector
вместо
mysql.connector
, затем используйте класс
_mysql_connector.MySQL()
, чтобы получить
экземпляр MySQL
, например:
import _mysql_connector
ccnx = _mysql_connector.MySQL()
ccnx.connect(user='scott', password='
password
',
host='127.0.0.1', database='employees')
ccnx.query("SHOW VARIABLES LIKE 'version%'")
row = ccnx.fetch_row()
while row:
print(row)
row = ccnx.fetch_row()
ccnx.free_result()
ccnx.close()
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.