К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как удобно работать с Python?

Гость
0 - 06.06.2016 - 13:46
Здравствуйте.

Сейчас надо написать 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-разработки на нем у меня в голове "каша" :-). Весьма рассчитываю с вашей помощью эту ситуацию прояснить для себя. Стоит ли и тогда чем вооружиться или оставить это. Спасибо!



Гость
1 - 09.06.2016 - 10:39
Оставайтесь на PHP. Питон красавчег, но все описанное - на PHP реализуемо.
Гость
2 - 09.06.2016 - 11:21
Цитата:
Сообщение от Гюли Посмотреть сообщение
1. Как на Ubuntu без заморочек использовать обе версии: 2 и 3?
Для 3го питона используйте команду python3. Можно еще alias настроить, если надо. Как-то вот так:

$ python -V
Python 2.7.8
$ python3 -V
Python 3.5.0
$ alias python=python3
$ python -V
Python 3.5.0
Гость
3 - 12.06.2016 - 15:43
посмотрел бы в сторону метеора...как раз то что надо под описанную задачу
Гость
4 - 15.06.2016 - 10:04
Добрый день.
economist - Да, я за это время еще по питону почитал, попрактиковался - он красавчик :-). Но как-то пока сложновато получается с ним у меня в плане удобства работы и отладки. Пока останусь на PHP.
Baydak - спасибо за советы. Нормально подошло virtualenv, хотя и на критику наткнулся этого метода, но для моего случая как раз подходит.
git_Punish - можно подробнее, что за метеор. Поискал - попались ссылки на некий интернет-магазин метеор.
Гость
5 - 15.06.2016 - 15:52
https://www.jetbrains.com/pycharm/features/
Для веба требе денежку или 30 дней триала
Гость
6 - 20.06.2016 - 11:31
Есть Pycharm Education Edition
Гость
7 - 24.06.2016 - 14:19
40KHYTbIU, economist - Спасибо. Я как раз когда еще по питону читал, практиковался, то находил PyCharm. Качать пока не стал. Буду иметь в виду, если понадобится.
Гость
8 - 27.06.2016 - 12:47
Сам выбрал бесплатный 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 из всех, которые я видел для всех прочих языков. Настоятельно рекомендую.
Гость
9 - 30.06.2016 - 19:53
economist, спасибо. Гляну. Это, как я сейчас понял, для винды. И надо использовать будет по вайном, как написано в 8-ом пункте? Обязательно гляну.
Гость
10 - 01.07.2016 - 15:34
Верно, для Windows, но под вином робэ.

PyCharm не так удобен в отладке и более тяжеловесен, хотя настроек тоже много.
Гость
11 - 06.07.2016 - 12:46
испкон веков использую связку WINDOUS CURL DELPHI FIREBIRD INDY. Скачиваеся, парсится, показывается, выводятся отчеты.
Гость
12 - 08.07.2016 - 16:30
(11)x0577216 - спасибо. Только это же не имеет отношения к Python, так? Или я в поисковике не на те ссылки попадал, когда искал по этим ключевым словам.
Гость
13 - 11.08.2016 - 09:37
Добрый день.
Решил отписаться, как только снова подошел вплотную к решению своего вопроса. Получилось работать, прямо в точности как мне надо, на PyCharm. У меня отлаживаемые скрипты запускаются в связке nginx+wsgi+скрипт и стал вопрос, как отлаживать python, работая с web, если запущен не из среды разработки.
PyCharm скачал полный, но триальный на 30 дней (не стал у них под всякими предлогами для обучения и т.д. запрашивать без лимита). Перед установкой сменил текущую дату с запасом на несколько лет вперед. После установки вернул обратно. Пока пользуюсь - прокатило, так сказать, уже больше месяца. Хотя при запуске все же ругается. Жму ОК и получается работать дальше.
Мне очень понравился PyCharm. Рекомендую.
Еще раз спасибо всем за рекомендации других сред разработки, хоть и не выбрал для своего случая.
Гость
14 - 15.08.2016 - 09:13
Цитата:
Сообщение от Гюли Посмотреть сообщение
У меня отлаживаемые скрипты запускаются в связке nginx+wsgi+скрипт и стал вопрос, как отлаживать python, работая с web, если запущен не из среды разработки.
Я делают отладку несколькими способами. Самый простой - расставляю print() в функциях и смотрю консоль после запуска. Второй способ - запуск shell в консоли, импортирую туда нужный модуль и выполняю нужные запросы и скрипты. Третий способ - ставлю точку остановы прямо в функцию
from IPython import embed; embed()
Выполняю действие для запуска функции в браузер и открываю консоль - интерпритатор остановится именно в том месте, где установлена точка остановы. Можно посмотреть все параметры на текущий момент и проверить те или иные функции. В вирт.окружение необходимо установить IPython
Пользуюсь редактором SublimeText3. Бесплатный, имеет кучу плагинов под любой из языков, плюс плагины, которые позволяют сделать IDE. Даже в репозиторий можно пушить прямо из редактора.
Гость
15 - 19.08.2016 - 19:36
Baydak, спасибо.
Гость
16 - 20.08.2016 - 18:20
14-Baydak, 15-ne555b >Действительно ..., спасибо, Baydak :-). Думаю, тему можно закрывать.


К списку вопросов






Copyright ©, Все права защищены