Python и MySQL
Я могу заставить Python работать с Postgresql, но не могу заставить его работать с MySQL. Основная проблема заключается в том, что на моей учетной записи общего хостинга у меня нет возможности устанавливать такие вещи, как Django или PySQL, я обычно не могу установить их на свой компьютер, поэтому, возможно, это хорошо, что я не могу установить на хост.
Я нашел bpgsql действительно хорошим, потому что он не требует установки, это единственный файл, который я могу просмотреть, прочитать и затем вызвать функции. Кто-нибудь знает что-то подобное для MySQL?
6 ответов
MySQLdb - это то, что я использовал раньше.
Если ваш хост использует Python версии 2.5 или выше, встроенная поддержка баз данных sqlite3 (sqlite позволяет вам иметь реляционную базу данных, которая представляет собой просто файл в вашей файловой системе). Но покупатель остерегается, sqlite не подходит для производства, поэтому он может зависеть от того, что вы пытаетесь с ним делать.
Другой вариант может заключаться в том, чтобы позвонить вашему хосту и пожаловаться или сменить хост. Честно говоря, в наши дни на любом уважающем себя веб-хосте, поддерживающем python и mysql, должна быть предварительно установлена MySQLdb.
У меня нет опыта работы с http://www.siteground.com/ в качестве веб-хостинга лично.
Это всего лишь предположение, но общий хост обычно поддерживает Python и MySQL с модулем MySQLdb (например, это делает GoDaddy). Попробуйте следующий CGI-скрипт, чтобы увидеть, установлен ли MySQLdb.
#!/usr/bin/python
module_name = 'MySQLdb'
head = '''Content-Type: text/html
%s is ''' % module_name
try:
__import__(module_name)
print head + 'installed'
except ImportError:
print head + 'not installed'
Я загрузил его и получил внутреннюю ошибку
Premature end of script headers
После долгой игры я обнаружил, что если бы
import cgi
import cgitb; cgitb.enable()
import MySQLdb
Это даст мне гораздо более полезный ответ и скажет, что он не был установлен, вы можете увидеть это сами -> http://woarl.com/db.py
Как ни странно, это приведет к ошибке
import MySQLdb
import cgi
import cgitb; cgitb.enable()
Я посмотрел на некоторые другие файлы, которые у меня были там, и кажется, что библиотека была одной из тех, которые я уже пробовал.
Вы можете попробовать установить собственную установку Python с использованием Virtual Python. Проверьте, как настроить Django, используя его здесь. Это было написано давным-давно, но оно показывает, как я настроил MySQLdb, не имея root-доступа или чего-то подобного. Как только вы освоите основы, вы можете установить любую библиотеку Python, какую захотите.
Вы действительно хотите MySQLdb для любого кода MySQL + Python. Однако вам не нужен root-доступ или что-либо еще, чтобы его использовать. Вы можете собрать / установить его в пользовательском каталоге (~/lib/python2.x/site-packages) и просто добавить его в переменную env PYTHON_PATH. Это должно работать практически для любой библиотеки Python.
Дайте ему шанс, там действительно нет хорошей альтернативы.
Выбрать на
https://docs.djangoproject.com/en/1.8/ref/databases/
MySQLdb в основном используется драйвером, но если вы используете python3 и django 1.8.x, которые не будут работать, вы должны использовать mysqlclient, который является народом MySQLdb по следующей ссылке