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