Приветствую, товарищи.

Я начал изучать Python и собираюсь использовать его для веб-разработки на замену (или в дополнение) к PHP. Имеется пара насущных вопросов.

1) Насколько имеет право на жизнь такая конструкция ( делать import в зависимости от if, case и т.д. )

2) Использовали ли вы Amazon EC2 для работы с питоном (я взял для пробы EC2 Fee Tier)? Как можно обновить питон на самую свежую версию?

Заранее спасибо.

Tagged with →  

34 Responses to Python для веб-разработки

  1. Nelef:

    1) Даже при таком подходе модуль закешируется в sys.modules и второй раз импорт производится не будет. Но нагляднее все таки импортировать все зависимости в начале файла.

    2) Да использую. Самая свежая это 3.3 что-ли, тебе она точно нужна? Если 2.7+ то разворачивай образы с http://alestic.com/ в Oneiric свеженькое все.

  2. RARre:

    Что ещё за str.encode( string )?

  3. RdnSnow:

    хммм. Видимо аналог string.encode(), только я его как-то странно записал 🙂 Спасибо.

  4. RdnSnow:

    1) Но если мы никогда не войдем в if, то соответственно никогда и не импортнём? А если импортов и зависимостей много, то соответственно будет и какая-то экономия времени.

    2) Спасибо. Поставил себе официальный AMI от каноникал и собрал из исходников 3.2.2

  5. Nelef:

    1) Сборка ипортов и зависимостей будет произведена один раз интерпретатором при компиляции в байт-код. Это займет какое время при старте приложения, зато потом накладных расходов не будет. С другой стороны в твоем случае кроме такой же вероятной сборки, будет поиск в sys.modules каждый раз при обработке этой конструкции. Что лучше? Выбирай сам. Я предпочитаю наглядные импорты в начале файла.

  6. RARre:

    аналог string.encode() — string.encode() (в смысле, string как модуль)
    Я, собсна, ещё интересуюсь, зачем ты делаешь encode без указания кодировки, что по-твоему делает этот вызов и что ты хочешь этим добиться.
    И, как я сейчас заметил, не надо называть переменные так же, как стандартные модули.

  7. RdnSnow:

    по поводу кодировки — логичное замечание, буду знать. str — опечатка, а string используется в малюсенькой функции, так что проблем возникнуть наверное не должно.

  8. RARre:

    не должно, если этот код никто кроме тебя никогда не будет видеть

  9. RosSport:

    1. рекомендую к прочтению http://www.opennet.ru/base/dev/python_ti… Маленькая выписка:
    import может быть выполнен в любом месте. Часто это используется
    внутри функции чтобы скрыть из глобального пространства имен и/или
    сократить время начального запуска программы. Хотя интерпретатор
    Питона оптимизирован на то, чтобы не импортировать один и тот
    же модуль несколько раз, в некоторых ситуациях последовательные
    импорты могут сильно повлиять на производительность.

    2. http://python.org/download/ wget, tar,./configure, make && make install. но вижу, что уже разобрался, пусть полежит тогда на всякий.

    ps: питонисты есть, это радует. привет блогеры!

  10. RdnSnow:

    :panda: :ninja: :panda: :ninja: :panda: :ninja:

  11. Kided:

    1. В процессе отладки только так и делаю:

    import pdb
    pdb.set_trace()

    После всего процесса удаляю две строки, чтобы pdb не вылез в диплой.

  12. Kided:

    ээээ, то есть вставляю эти две строки там, откуда надо пройтись по шагам.

  13. GutMsk:

    А какое отношение твой ответ имеет к вопросу? Ну и на вот тебе, чтобы не две строки удалять, а одну: «import pdb; pdb.set_trace()»

  14. SueGood:

    отлаживать проще в приличной IDE ИМХО с точками останова создаваемыми кликом мышкой на полях файла.

  15. AzuNo:

    1) имеет, но смысла нет
    2) обновляться на 3 ветку пока рано, основная масса модулей написана под 2.x

  16. RARre:

    import ipdb; ipdb.set_trace()

  17. SubSnow:

    а я вот только начал учить питон

    Посоветуйте вообще что-нибудь, учитывая что последний раз я программировал 14 лет назад на турбо паскале 🙂

    Читаю 4-е издания Марка Лутца.

  18. Todsuper:

    С питоном мне понравилось работать на Google App Engine т.к. не нужно ничего админить. Задеплоил скрипты и все хуярит.

  19. SueGood:

    Кстати, пайтон блогу уже открыли? не?

  20. SueGood:

    GAE не умеет Django, это жирнющий минус. А приличных хостингов для джанги где не надо админить уже жопой жуй.

  21. RosSport:

    Ну раз затронули GAE, вот держите сразу готовый шаблончег для gae на фласке https://github.com/blossom/flask-gae-ske

  22. SueGood:

    нахуй оно такое надо? Без моделей, админки и половины плюшек и с костылями?
    Ждем когда гугля допишет hosted sql

  23. 0duPhone:

    django есть

  24. RdnSnow:

    я прочитал первые 100-150 страниц Лутца, сейчас читаю dive into python 3. Мне кажется у Лутца многовато воды, хотя это может быть из-за того, что я, так сказать, практикующий программист, и мне не нужны разжевывания стандартных типов данных.

  25. RdnSnow:

    я на amazon ec2 взял халявный план, щас на нем играюсь с просто python, потом поробую веб на нем. думаю для начала потыкать cherrypy. что скажет на этот счет прогрессивное сообщество?

  26. SubSnow:

    вот и я так думаю. Вроде сильно советуют, а я прям как в трясине там вязнуть начинаю.

  27. RARre:

    можно и открыть

  28. KenGood:

    не забудьте открыть по блоге на каждый питоновский модуль

Добавить комментарий