Python и MySQL - PullRequest
       105

Python и MySQL

35 голосов
/ 03 августа 2008

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

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

Ответы [ 6 ]

23 голосов
/ 05 августа 2008

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

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

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

7 голосов
/ 03 августа 2008

У меня нет опыта работы с 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'
6 голосов
/ 12 августа 2008

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

6 голосов
/ 04 августа 2008

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

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

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

4 голосов
/ 27 января 2011

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

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

2 голосов
/ 10 октября 2015

Выберите на

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...