Вопрос
Я могу заставить Python работать с Postgresql, но не могу заставить его работать с MySQL.Основная проблема заключается в том, что в моей учетной записи общего хостинга у меня нет возможности устанавливать такие вещи, как Django или PySQL, у меня обычно не получается установить их на свой компьютер, так что, возможно, это хорошо, что я не могу установить на хост.
я нашел bpgsql действительно хорошо, потому что он не требует установки, это один файл, который я могу просмотреть, прочитать и затем вызвать функции.Кто-нибудь знает что-то подобное для MySQL?
Решение
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, используя Виртуальный Питон.Узнайте, как настроить 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, по следующей ссылке.