Вопрос

Я могу заставить 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, по следующей ссылке.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top