Подтвердить что ты не робот

Python и MySQL

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

У меня нет опыта работы с http://www.SiteGround.com в качестве веб-хоста лично.

Это всего лишь предположение, но общедоступный хост поддерживает Python и MySQL с модулем MySQLdb (например, GoDaddy делает это). Попробуйте выполнить следующий CGI script, чтобы узнать, установлен ли 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'

Ответ 3

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

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

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

Ответ 5

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

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

Ответ 6

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

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

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

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

Ответ 7

  • Установите MySQL, Connector Python, используя pip.
  • Используйте метод mysql.connector.connect() MySQL Connector Python с необходимыми параметрами для подключения MySQL.
  • Используйте объект соединения, возвращенный методом connect(), чтобы создать объект курсора для выполнения операций с базой данных.
  • cursor.execute() для выполнения SQL-запросов из Python.
  • Закройте объект Cursor, используя cursor.close(), и соединение с базой данных MySQL, используя connection.close(), после завершения работы.
  • Поймать исключение, если таковое может произойти во время этого процесса.