![]() |
Как удобно работать с Python? Здравствуйте. Сейчас надо написать web-приложение (не сайт), но надо работать через браузер. На стороне клиента будет использоваться ajax без JQ, т.к. не будет требоваться никаких красивостей и прочего. Но потребуется постоянный ввод данных на стороне клиента и обмен с сервером (по определенным причинам без перезагрузки формы, а только обновление значений и, максимум, перерисовка body части документа). Это для информации, т.к. тут мне пока все понятно. На стороне сервера предполагаю использовать PHP и уже некий прототип написан и работает как надо. Т.к. надо, чтобы этот проект можно было использовать с различными языками (русский, английский ..., китайский, японский и т.д.), то лишний раз озаботился о возможности выполнения этого требования на обеих сторонах, перечитал много, в т.ч. на иностранных сайтах. Сложилось мнение, что если буду работать через UTF-8 на обеих сторонах, то проблем не будет. Разве что если буду производить работу со строками в PHP, то могут быть проблемы с русским, китайским и т.д. языками, если не буду использовать специальные функции для строк с мультибайтовым представлением символов. И, как следствие этой проблемы - работа с массивами со строковыми значениями. Пока эту проблему со счетов сбрасываю, т.к. всю такую обработку строк планирую реализовать в БД, где кодировку выберу utf8_binary, а в случае если потребуется разные регистры сравнивать, то прежде буду приводить к одному в запросах. Тут я тоже, полагаю, на верном пути. Но пока я штудировал информацию, то много раз попадалась информация, если сказать одной фразой, которую я один раз прочитал, якобы PHP "был создан, чтобы постепенно умирать", а вот Python - самое то, в том числе и для web-разработки. В добавок почитал обзоры и аналитику, и сложилось впечатление, что объективно так и есть: шустрее, удобнее в программировании (хоть и с особенностями) и можно использовать не только для web. По синтаксису посмотрел - вполне устраивает и нормальная поддержка строк с мультибайтными символами (если вдруг потребуется). Стал пробовать ... Тут надо дополнительно сообщить, что у меня Ubuntu 14.04 LTS. Установил Python3 (зачем же со 2-ой разбираться, если уже есть 3-я, тем более, что они несовместимы). Тут стали проявляться неоднозначности. В системе уже был установлен Python2, т.к. немало система зависит от приложений питона этой версии. Поэтому, если сменить версию питона по умолчанию на 3-ю, то появляются сообщения о проблемах в системе (было, попробовал, но откатил обратно). Выходит, чтобы выполнить код, написанный под 3-ий питон надо явно указать, каким интерпретатором он должен выполняться. Но указать это для веб сервера пока не дошел как (Apache2) - понял, что надо это как-то настраивать через virtualenv. И еще - надо предварительно исходники компилировать. До отладки web-кодирования на питоне даже еще не дошел. В общем, пока удалось имеющийся рабочий прототип на PHP переложить на Python2 (3-ий не срабатывает по вышеуказанным причинам), в попытке попрактиковаться и получить личный опыт, но с каким трудом это далось! Созрел на этот пост и попросить сообщества, стоит ли это все того, чтобы дальше "рыть"? Или остановиться на PHP? Основные вопросы к Python у меня: 1. Как на Ubuntu без заморочек использовать обе версии: 2 и 3? 2. Обязательно ли всегда компилировать исходник, чтобы хотя бы протестировать через web. 3. Отладка, это я полагаю, как раз нужно, чтобы исходники не были скомпилированы, что противоречит предыдущему пункту-вопросу. Но вообще еще не подошел к этой теме. Вполне может быть, что по питону и, в частности, в плане web-разработки на нем у меня в голове "каша" :-). Весьма рассчитываю с вашей помощью эту ситуацию прояснить для себя. Стоит ли и тогда чем вооружиться или оставить это. Спасибо! |
Оставайтесь на PHP. Питон красавчег, но все описанное - на PHP реализуемо. |
[quote=Гюли;42257705]1. Как на Ubuntu без заморочек использовать обе версии: 2 и 3?[/quote] Для 3го питона используйте команду python3. Можно еще alias настроить, если надо. Как-то вот так: $ python -V Python 2.7.8 $ python3 -V Python 3.5.0 $ alias python=python3 $ python -V Python 3.5.0 |
посмотрел бы в сторону метеора...как раз то что надо под описанную задачу |
Добрый день. economist - Да, я за это время еще по питону почитал, попрактиковался - он красавчик :-). Но как-то пока сложновато получается с ним у меня в плане удобства работы и отладки. Пока останусь на PHP. Baydak - спасибо за советы. Нормально подошло virtualenv, хотя и на критику наткнулся этого метода, но для моего случая как раз подходит. git_Punish - можно подробнее, что за метеор. Поискал - попались ссылки на некий интернет-магазин метеор. |
[url]https://www.jetbrains.com/pycharm/features/[/url] Для веба требе денежку или 30 дней триала |
Есть Pycharm Education Edition |
40KHYTbIU, economist - Спасибо. Я как раз когда еще по питону читал, практиковался, то находил PyCharm. Качать пока не стал. Буду иметь в виду, если понадобится. |
Сам выбрал бесплатный IDE PyScripter. Немного его похвалю: 0) Просто распаковывается на С вместе с PortablePython (250 Мб), причем можно динамически линковаться к ЛЮБОМУ установленному Питону, переменные окружения меняются НА ЛЕТУ. 1) Все окна настраиваются и масштабируются удобнейшим образом - скроллингом мыши 2) Можно изолировать IDE от интерпретатора (надежность) или использовать напрямую. 3) Есть файлы-шаблоны для кода, модулей, классов, файлов итп. Нажми Ctrl+N... 4) Уже есть библы: NymPy SciPy Matplotlib PyWin32 NetworkX Lxml PySerial PyODBC PyQt IPython Pandas 5) Щелчок по чему угодно открывает объект (модуль, кроме встроенных os re итп) или офлайн-справка (ENG) к Питону 6) Автодополнение всего Ctrl+SPACE, подсказка (F1, Alt+D, ), проверка синтаксиса! Внизу вкл Переменные - это 7) Офигенная пошаговая отладка с заходом/выходом/обходом!!! Другие IDE курят в сторонке 8) Можно юзать сборку в Linux под Wine! 9) Есть также IDLE IDE (штатная неудобная фигня) и QtDesigner (см папку) 10) Есть автогенератор HTML/PDF-документации прямо из текста кода (Инстр..-Исх код-Документация). Аллилуйя! 11) Коммент ставится Ctrl+э при любой раскладке В общем, это лучшая IDE из всех, которые я видел для всех прочих языков. Настоятельно рекомендую. |
economist, спасибо. Гляну. Это, как я сейчас понял, для винды. И надо использовать будет по вайном, как написано в 8-ом пункте? Обязательно гляну. |
Верно, для Windows, но под вином робэ. PyCharm не так удобен в отладке и более тяжеловесен, хотя настроек тоже много. |
испкон веков использую связку WINDOUS CURL DELPHI FIREBIRD INDY. Скачиваеся, парсится, показывается, выводятся отчеты. |
(11)x0577216 - спасибо. Только это же не имеет отношения к Python, так? Или я в поисковике не на те ссылки попадал, когда искал по этим ключевым словам. |
Добрый день. Решил отписаться, как только снова подошел вплотную к решению своего вопроса. Получилось работать, прямо в точности как мне надо, на PyCharm. У меня отлаживаемые скрипты запускаются в связке nginx+wsgi+скрипт и стал вопрос, как отлаживать python, работая с web, если запущен не из среды разработки. PyCharm скачал полный, но триальный на 30 дней (не стал у них под всякими предлогами для обучения и т.д. запрашивать без лимита). Перед установкой сменил текущую дату с запасом на несколько лет вперед. После установки вернул обратно. Пока пользуюсь - прокатило, так сказать, уже больше месяца. Хотя при запуске все же ругается. Жму ОК и получается работать дальше. Мне очень понравился PyCharm. Рекомендую. Еще раз спасибо всем за рекомендации других сред разработки, хоть и не выбрал для своего случая. |
[quote=Гюли;42705632] У меня отлаживаемые скрипты запускаются в связке nginx+wsgi+скрипт и стал вопрос, как отлаживать python, работая с web, если запущен не из среды разработки. [/quote] Я делают отладку несколькими способами. Самый простой - расставляю print() в функциях и смотрю консоль после запуска. Второй способ - запуск shell в консоли, импортирую туда нужный модуль и выполняю нужные запросы и скрипты. Третий способ - ставлю точку остановы прямо в функцию [em]from IPython import embed; embed()[/em] Выполняю действие для запуска функции в браузер и открываю консоль - интерпритатор остановится именно в том месте, где установлена точка остановы. Можно посмотреть все параметры на текущий момент и проверить те или иные функции. В вирт.окружение необходимо установить IPython Пользуюсь редактором SublimeText3. Бесплатный, имеет кучу плагинов под любой из языков, плюс плагины, которые позволяют сделать IDE. Даже в репозиторий можно пушить прямо из редактора. |
Baydak, спасибо. |
14-Baydak, 15-ne555b >Действительно ..., спасибо, Baydak :-). Думаю, тему можно закрывать. |
Текущее время: 18:01. Часовой пояс GMT +3. |