Страница 1 из 1
FB + Python
Добавлено: 03 окт 2007, 09:09
Solo
Как ни хороша Дельфи, а хочется перемен. Привлекает Питон. Хотя, возможно, это влияние моды. Никто не пробовал Питон с FB?
С MySQL там есть варианты, но... сами понимаете, бедность

Добавлено: 05 окт 2007, 19:22
Tonal
Модуль для работы с FB называется Kinterbasdb.
Уже с год работаем на Python + FB + Qt.
Кстати, из под Qt можно использовать собственно Qt-шный драйвер.
Добавлено: 06 окт 2007, 14:19
Solo
Tonal писал(а):Модуль для работы с FB называется Kinterbasdb.
Уже с год работаем на Python + FB + Qt.
Кстати, из под Qt можно использовать собственно Qt-шный драйвер.
Спасибо. Нашел, скачал. Теперь насчет документашки бы какой... Про гугл знаю

Добавлено: 08 окт 2007, 07:34
Tonal
Solo писал(а):Tonal писал(а):Спасибо. Нашел, скачал. Теперь насчет документашки бы какой... Про гугл знаю

Если ты про Kinterbasdb то с ним идёт вполне вменяемая дока.
Если про Qt - то очень подробный assistant
Добавлено: 21 янв 2008, 09:28
Solo
Tonal писал(а):Solo писал(а):Tonal писал(а):Спасибо. Нашел, скачал. Теперь насчет документашки бы какой... Про гугл знаю

Если ты про Kinterbasdb то с ним идёт вполне вменяемая дока.
Если про Qt - то очень подробный assistant
Пробовал import kinterbasedb, кое-как с компиляцией разобрался. Все упиралось в кодировку. Пошло и банально в site.py заменил encoding ascii на cp1251 и все пошло. Скомпилировалось, пробуем подключить - есть. А вот пробуем запрос - фигу. Требует какой-то "евгеникс" для DateTime'a. А что, без него нельзя?
И еще: а QT бесплатный разве?
Добавлено: 21 янв 2008, 11:46
Tonal
Я надеюсь, у тебя Python 2.5? Или хотя бы 2.4?
Если да, тады открой файлик __init__.py в пакете и вместо строчки ~254
Код: Выделить всё
def init(type_conv=1, concurrency_level=_k.DEFAULT_CONCURRENCY_LEVEL):
Вставь
Код: Выделить всё
_type_conv = {3: 100, 4: 200, 5: 200}.get(sys.version_info[1], 1)
def init(type_conv=_type_conv, concurrency_level=2):
Всё должно заработать на стандартной поставке.
encoding я оставлял таким, как есть, при подключении указывал чарсет "WIN1251".
Все строковые отдаёт (кроме блобов) в unicoде, блобы - как есть.
Qt, начиная с 4-ки GPL под винду для MinGW, начиная с 4.3.2 можно использовать и MSVC и Borland (но без интеграции).
На офф. сайте свободно доступны исходники, и бинарики собранные под MinGW.
PyQt - GPL доступен в исзодниках и/или собранный под винду.
Последние дистрибутивы включают так же библиотеки Qt, ассистент, Qwt + PyQwt (графики и диограммы), QScintilla +PyScintilla (продвинутый редактор текста), Eric4 (IDE).
Добавлено: 21 янв 2008, 15:10
Solo
Хм... спасибо, попробую.
В принципе, у меня блобов и нет особых... Кроме тех, которые FIB использует, ну там же все латиницей...
А без QT никак нельзя? Я как-то в Си не очень... Си после Паскаля - как французский после английского.
Какую роль QT вообще выполняет?
Я предполагал использовать Питон в роли CGI, что-то вроде этого, чтобы с базой не только из офиса работать, но и с любой машины...
Извиняюсь за наивные вопросы, все когда-то начинали.
Добавлено: 27 янв 2008, 17:12
Tonal
Qt у нас играет роль GUI библиотеки.
Для того, чтобы использовать её с Python-ом знать С++ не обязательно - там очень хороший биндинг (переходник).
Ну а если тебе GUI не нужен, то вполне хватит только Kinterbasedb.

Если нужно простейшая работа с CGI, то она есть в стандартной поставке - модуль cgi.py.
P.S. Пройди в Интуите курс по Python-у. Там довольно хороший обзор технологий.

Добавлено: 14 фев 2008, 16:42
Ivan_Pisarevsky
Tonal писал(а):Qt у нас играет роль GUI библиотеки.
Для того, чтобы использовать её с Python-ом знать С++ не обязательно - там очень хороший биндинг (переходник).
Ну а если тебе GUI не нужен, то вполне хватит только Kinterbasedb.

Если нужно простейшая работа с CGI, то она есть в стандартной поставке - модуль cgi.py.
P.S. Пройди в Интуите курс по Python-у. Там довольно хороший обзор технологий.

Я вот тож решил попробовать написать фронтэнд непосредственно под линух, поставил qt, методом научного тыка нихрена не понял, народ как будто рекомендует книженцию:
Бланшет Ж., Саммерфилд М. «Qt 4. Программирование GUI на C++»
Это то что нужно начинающему или нет? Мож подкинешь ссылок?
Может подкинешь пример исходника, если не жалко на qt что-нидь типа "select 'Hello world!' from rdb$database"?
Добавлено: 14 фев 2008, 18:21
Tonal
Добавлено: 15 фев 2008, 09:21
Ivan_Pisarevsky
Спасибо, почитаю на досуге.

Книжицу покуда скачал, грешным делом, написано как раз для тех кто qt видел полтора раза, если проникнусь идеей программировать на qt то точно прикуплю, не люблю читать с экрана.
Добавлено: 15 апр 2008, 09:54
Solo
Опять вернулся к этой теме
Еще накопал у немцев способ обойти UnicodeDecodeError при попытке
Сработало на Python 2.5.2 Windows XP
в том месте, где он спотыкается насчет UnicodeDecodeError в файле __init.py__ , в нашем случае в районе 98-й строчки, надо изменить код следующим образом:
Код: Выделить всё
else:
_instPath = _instPath
# так было:
#os.environ['PATH'] += os.pathsep + os.path.join(
# _instPath, 'bin'
# )
# так стало:
fs_enc = sys.getfilesystemencoding() # get the system encoding
tempPath = os.pathsep + os.path.join( # ...firebird path + \bin
_instPath, 'bin'
)
firebirdBinPath = tempPath.encode(fs_enc) # convert to system encoding string
osPath = os.environ['PATH'].decode(fs_enc) # get and decode system path
# set old system path + ;...firebird/bin
os.environ['PATH'] = ((osPath + firebirdBinPath).encode(fs_enc))
del _instPath
И тогда импорт без проблем.
Добавлено: 08 июн 2008, 14:22
Solo
Итак, дело со скрипом движется. Было решено не использовать QT, Glade и т.п., т.е. обходится чисто питоновскими ингредиентами...
Причем взгляд изначально был в сторону Web-технологий. Была перерыта малюсенькая кучка англоязычной доки и принято решение использовать Pylons (не успеваешь прочесть, как дока уже устаревает), освоен HelloWorld по Pylons
Теперь вопрос: никто не использовал связку SQLAlchemy+FireBird?
Хотелось бы работающий пример подключения.
Да, и еще: морока с Unicode. Никто не пробовал перевести базу с Win1251 на Unicode? База-то рабочая, с ней работают клиенты на Delphi (FIBPlus)
Добавлено: 08 июн 2008, 14:24
Solo
Вообще, никто не хочет мне сказать "развяжись с WEB-Python и купи книжку по PHP?"
Устал на каждом шагу спотыкаться. Зато сколько радости, когда работает
