Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2012 00:30:25

S1lent
Зарегистрирован: 2012-04-24
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

Какие модули для Mysql существуют и корректно ставятся на это чудо? Гугл весь перерыл, но неуспешно.

Офлайн

#2 Апрель 26, 2012 00:41:11

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

гуглите Вы как-то не по-нашему, не по-людски. А мы во первых же строках мы обнаруживаем:
http://pypi.python.org/pypi/MySQL-python, что ведет нас к http://sourceforge.net/projects/mysql-python/

Офлайн

#3 Апрель 26, 2012 01:26:54

S1lent
Зарегистрирован: 2012-04-24
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

ну а если повнимательней

beelze
http://pypi.python.org/pypi/MySQL-python
Python-3.0 will be supported in a future release.
beelze
http://sourceforge.net/projects/mysql-python/
Python versions 2.3-2.6 are supported.

из всего что удалось нагуглить и с горем пополам поставить - это pymysql
но по ощущениям (запускал один и тот же скрипт на разных версиях питона с разными mysql модулями) он довольно медленный, при запуске скрипта он повисает секунды на 2 и только потом выводит результат, когда другие модули (но на версии <3.0) отрабатывают моментально, я даже Enter не успеваю нажать.

Офлайн

#4 Апрель 26, 2012 09:08:36

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

S1lent, сорри, упустил троечку. про pymysql пишется, что он «is a dbapi compliant, pure-python implementation» - возможно поэтому медленный.
Если Ваша платформа - Windows, то есть вот что: http://www.lfd.uci.edu/~gohlke/pythonlibs/ упомянут «Python 3 port»

Офлайн

#5 Апрель 26, 2012 10:12:26

S1lent
Зарегистрирован: 2012-04-24
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

Как раз-то требуется для freebsd pyodbc я ставил полночи так и не поставил, через стандартный pip не собирается, собственно как и setup'ом
Печально всё это.. вроде 3ей ветке уже пару лет, а она по прежнему не популярна.. Но проблемы с юникодом второй ветки выше моих сил…

Офлайн

#6 Апрель 26, 2012 11:39:54

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

>3ей ветке уже пару лет, а она по прежнему не популярна
поэтому я пока и не перешел на тройку, ибо не все еще портировано

>проблемы с юникодом второй ветки
ну не знаю. есть какие то аспекты, не рассмотренные в unicode howto?

Офлайн

#7 Апрель 26, 2012 13:22:29

S1lent
Зарегистрирован: 2012-04-24
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

beelze
ну не знаю. есть какие то аспекты, не рассмотренные в unicode howto?
Мне как новичку в python просто неудобно. Хочется не отвлекаться на все эти приблуды с юникодом а просто программировать, например

a = (u"Саша", u"Паша", u"Маша")
print a

в консоли будет байт-код. А если я делаю выборку из ДБ (с кириллическими символами)“SELECT * FROM table” и заранее не знаю/не хочу знать сколько полей, а просто хочу посмотреть список например “print row”, то увижу тот же самый байт-код.

Офлайн

#8 Апрель 26, 2012 13:27:28

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

S1lent
в консоли будет байт-код. А если я делаю выборку из ДБ (с кириллическими символами)“SELECT * FROM table” и заранее не знаю/не хочу знать сколько полей, а просто хочу посмотреть список например “print row”, то увижу тот же самый байт-код.

Так пользуйтесь для таких целей конcолью MySQL или MySQL query browser / MySQL admin …, по-моему, гораздо удобнее.



Офлайн

#9 Апрель 26, 2012 13:42:59

S1lent
Зарегистрирован: 2012-04-24
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

Не спорю, возможно надо как-то абстрагироваться от php мышления. Всё же хоть и говорят что в python работа с юникодом удобнее чем в php, пока я вижу полную противоположность этому мнению.

Офлайн

#10 Апрель 26, 2012 14:00:10

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

Python 3.2 & mysql

>Мне как новичку в python просто неудобно. Хочется не отвлекаться на все эти приблуды с юникодом а просто программировать

мне ни разу кроме как в отладочных целях не приходилось делать print list() или tuple(). кроме того, не всегда можно полагаться, что кодировка полученной откуда-то строки будет соответствовать кодировке устройства вывода. Поэтому-то и есть 2 типа данных - str и unicode. И соответствующие функции работы с кодировками.
если хотите вывести не строковое представление объекта, а что-то конкретное, то и пишите конкретнее. Например так:

 print u', '.join(a)

Отредактировано beelze (Апрель 26, 2012 14:04:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version