Python и MySQL

Я могу заставить Python работать с Postgresql, но не могу заставить его работать с MySQL. Основная проблема заключается в том, что на моей учетной записи общего хостинга у меня нет возможности устанавливать такие вещи, как Django или PySQL, я обычно не могу установить их на свой компьютер, поэтому, возможно, это хорошо, что я не могу установить на хосте.

Я нашел bpgsql действительно хорошим, потому что он не требует установки, это единственный файл, который я могу просматривать, читать и затем вызывать функции. Кто-нибудь знает что-то подобное для MySQL?

Ответов (6)

Решение

MySQLdb - это то, что я использовал раньше.

Если ваш хост использует Python версии 2.5 или выше, встроена поддержка баз данных sqlite3 (sqlite позволяет вам иметь реляционную базу данных, которая представляет собой просто файл в вашей файловой системе). Но будьте осторожны, покупатель, sqlite не подходит для производства, поэтому это может зависеть от того, что вы пытаетесь с ним делать.

Другой вариант - позвонить своему хозяину и пожаловаться или сменить хоста. Честно говоря, в наши дни любой уважающий себя веб-хостинг, поддерживающий python и mysql, должен иметь предварительно установленный MySQLdb.

Я загрузил его и получил внутреннюю ошибку

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()

Я просмотрел некоторые другие файлы, которые у меня были там, и, похоже, эта библиотека была одной из тех, которые я уже пробовал.

Сделайте выбор в

https://docs.djangoproject.com/en/1.8/ref/databases/

MySQLdb - это в основном используемый драйвер, но если вы используете python3 и django 1.8.x, которые не будут работать, вам следует использовать mysqlclient, который является народом MySQLdb, по следующей ссылке

https://pypi.python.org/pypi/mysqlclient

У меня лично нет опыта работы с 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'

Вы можете попробовать настроить собственную установку Python с помощью Virtual Python . Узнайте, как настроить Django, используя его здесь . Это было написано очень давно, но это показывает, как я установил MySQLdb без корневого доступа или чего-то подобного. Освоив основы, вы можете установить любую библиотеку Python, которую захотите.

Вам действительно нужен MySQLdb для любого кода MySQL + Python. Однако вам не нужен root-доступ или что-то еще, чтобы его использовать. Вы можете собрать / установить его в пользовательском каталоге (~ / lib / python2.x / site-packages) и просто добавить его в свою переменную env PYTHON_PATH. Это должно работать практически для любой библиотеки Python.

Попробуйте, на самом деле нет хорошей альтернативы.