Хорошая настройка среды разработки для Web2Py
Пробыл Web2Py уже пару дней, и я решил, что это хранитель. Но есть одна вещь, которая меня очень волнует, и в конце концов это может быть шоустоппер. Мне нужна хорошая среда разработки и настройка, на которую я могу доверять и быть продуктивной. Исходя из мира MS Visual Studio, я ищу что-то с хорошими функциями autocomplete/intellisense + для управления версиями и развертывания.
Я попытался отредактировать свой код в Eclipse, но ему нужна дополнительная настройка для запуска с автозаполнением, а для отладки я не знаю, возможно ли это. (Заметили, что в Eclipse был шаблон проекта Django, который я должен сказать немного.)
У Wing Ide есть инструкция о том, как получить web2py и запустить, и я до этого тестирую. Не бесплатный, но очень дешевый по сравнению со многими в мире Windows.
Я также хочу установить хорошую версию (hg) и предпочтительно полуавтоматический метод FTP-развертывания.
Какие IDE используют разработчики Web2Py и как выглядят ваши настройки?
Полная настройка script для проекта в хорошей среде IDE была бы потрясающей! (Как и при установке, одним нажатием кнопки, чтобы запустить его на 100%).
Pycharm выглядит хорошо, возможно, что можно добавить поддержку web2py http://youtrack.jetbrains.net/issue/PY-1648
Спасибо большое!
Ответы
Ответ 1
Сценарии
Как только я создаю новый проект в web2py, я добавляю несколько сценариев в свою основную папку приложения:
web2py\приложения\MyApp\DebugWinpdb.bat:
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -i 127.0.0.1 -p8000 -mypassword
web2py\приложения\MyApp\DebugShell.bat:
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -S myapp -M
web2py\приложения\MyApp\Shell.bat:
python ..\..\web2py.py -S myapp -M
IDE
Как утверждали другие, вам нужно сделать дополнительные материалы, чтобы получить autocomplete/intellisense для web2py независимо от того, какую IDE вы используете.
Для меня NetBeans был хорошим компромиссом между make-all-if-only-you-can-figure-out-how (Eclipse/PyDev) и make-basics-but-few-extras (PyScripter).
Настройка NetBeans (свойства проекта):
- Категория Python
- Платформа Python: Python 2.x(по умолчанию Jython)
- Категория запуска
- Основной модуль:
web2py.py
- Аргументы приложения:
-i 127.0.0.1 -p 8000 -a mypassword
Преимущества NetBeans:
- Плотная интеграция
- Основные моменты, которые были добавлены, изменены или удалены в исходном файле, когда вы его редактируете.
- Отборочный откат отдельных изменений, внесенных вами с момента последнего фиксации.
- Один из самых приятных зрителей с визуальным различием, которые я использовал
- Подсказки стиля Python PEP8 (полностью настраиваемые)
- Имя "foo" не является допустимым именем класса в соответствии с вашим стилем кода (CapitalizedWords)
- Имя "Бар" не является допустимым именем функции в соответствии с вашим стилем кода (lowercase_with_underscores)
- Горячая клавиша автоматического форматирования (исправляет интервал между операторами и т.д.)
- Навигация в исходном файле
- семантически индексирует текущий исходный файл
- упорядочивает по алфавиту по типу (класс, метод, атрибут и т.д.)
- позволяет сделать даже огромные таблицы стилей.
NetBeans Cons:
- Интегрированный отладчик не работает с web2py (что действительно болит)
- Длительное время запуска (но приемлемо для меня, когда он запускается и работает)
Контроль версий
Я использую и рекомендую Mercurial для управления версиями. Как уже упоминалось ранее, NetBeans имеет отличную поддержку Mercurial, но есть некоторые вещи, которые я бы скорее сделал в TortoiseHg.
TortoiseHg Pros:
- Значки оболочки оболочки
- Проводник хранилища
- просмотр истории репозиториев с графическим отображением ветвления/слияния
- стоп-лоток для входящих, исходящих, Push, Pull, Update и т.д. с кнопкой для инструмента Commit
- Инструмент фиксации
- Выбор Hunk: изменения вишневого цвета из файла для более целенаправленной фиксации
- Добавить, удалить, сбросить, вернуть, переместить, удалить, забыть
TortoiseHg Cons:
- Невозможно просто перейти в командную строку
- Ошибка, которая регулярно предотвращает удаление файлов во время фиксации (ждет indef для блокировки, которая будет выпущена, запуск
hg addremove
из командной строки является надежным обходным решением)
Издательство
Я использую комбинацию WinSCP (для просмотра), PuTTY (для команд терминала) и TortoiseHg (для push/pull моих репозиториев) для работы с моей учетной записью общего хостинга в Webfaction.
Первое, что я делаю, - это шифрование с открытым/закрытым ключом. Если у вас возникли проблемы с настройкой между Windows и Linux, попробуйте эти инструкции от Andre Molnar. Расскажите, что вам нужно сгенерировать свой секретный ключ, используя ssh-keygen на Linux, скопировать его на свою Windows-машину с помощью WinSCP, а затем преобразовать его для использования с WinSCP и PuTTY.
Затем добавьте следующие строки в ваш глобальный файл mercurial.ini:
[ui]
ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "c:\path\to\your\privatekey.ppk"
Даже если вам нужно подключиться к нескольким серверам, вам нужно только скопировать свой открытый ключ на каждый из разных серверов. Вы также захотите, чтобы WinSCP и PuTTY знали, где находится ваш закрытый ключ, но это довольно легко понять.
Ответ 2
Попробуйте новый интерфейс web2py admin в багажнике. Он имеет веб-интерфейс и интерфейс развертывания google.
В web2py вы можете редактировать приложения /admin/models/ 0.py и устанавливать
TEXT_EDITOR = 'amy'
И вы получите веб-редактор Amy с автозавершением. Это не значение по умолчанию, потому что оно не работает с некоторыми браузерами и потому, что автозаполнение не так хорошо, как eclipse. Это может сработать для вас.
Вы можете использовать web2py с Eclipse, но вам нужно небольшое обходное решение, чтобы Eclipse узнал о среде web2py. Здесь объясняется.
Я знаю, что другие пользователи использовали другие IDE с web2py, например WinIDE и pyCharm. Я предлагаю вам спросить в списке рассылки web2py, где люди очень полезны.
Ответ 3
Я почти уверен, что "настройка одним щелчком мыши script" для выполнения всего, что вы ищете, не существует (на данный момент). Но не откладывайте - вы можете достичь приятной среды разработки в соответствии с вашими потребностями, и есть много вариантов.
Несмотря на то, что я развиваюсь в Windows, мне нравится настройка, которую у меня есть, как это больше похоже на "Unixy", из-за чего у меня есть ряд инструментов, каждый из которых выполняет определенную задачу. Как только вы получите настройку рабочего процесса, вы можете быть очень продуктивным - хотя я понимаю, что он может выглядеть немного запутанным изначально из мира Visual Studio.
Ниже я расскажу о том, что я решил. Я уверен, что у других будут свои рекомендации. Выберите наиболее подходящие варианты.
(Там должно быть гиперссылки на полезное программное обеспечение ниже, но у меня недостаточно репутации, чтобы включить более 1 ссылки...)
Для разработки в Windows мне нравится использовать Pyscripter. Он бесплатный, быстрый (по сравнению с Aptana/Eclipse/Netbeans и т.д.) И имеет некоторые приятные функции (темная тема, интегрированная консоль python и проводник кода, чтобы назвать несколько).
Чтобы получить завершение кода /intellisense для работы с web2py, вам нужно добавить код в файлы модели/контроллера из-за того, как работает web2py. Есть несколько инструкций в этой теме обсуждения в группе web2py.
У web2py есть встроенная система продажи билетов (см. главу 3 книги Web2py). Для более полной отладки, pydb, кажется, путь. Просто поставьте код ниже в качестве точки останова:
import pydb
pydb.debugger()
и он отвезет вас в отладчик.
Я использую TortoiseHg для интеграции Mercurial, и он отлично работает. Объедините это с winscp, и вы можете легко развернуть его.
Ответ 4
Предостережения: Я работаю в OS X и выполняю большую часть своего кодирования в BBEdit.
Тем не менее, я использовал и Wing и Komodo IDE для отладки web2py, и они оба неплохо работали для меня. Я не пробовал NetBeans через некоторое время; когда я сделал поддержку Python, было немного грубо по краям. И у меня никогда не было времени или терпения, чтобы ускориться с Eclipse; он подал в мой психиатрический кабинет с Emacs, без сомнения, несправедливо к Eclipse и/или Emacs.
(И я буду рекомендовать рекомендацию mdipierro, чтобы попробовать список рассылки web2py, это действительно незаменимо - одна из самых сильных точек web2py.)
Ответ 5
Рассматривали ли вы использование меньшего количества инструментов? И Python, и web2py не требуют большого количества кода, чтобы получить много результатов. web2py добавляет только 10 или 15 новых вызовов функций (помимо HTML-помощников и валидаторов). Вы можете обнаружить, что Eclipse и другие IDE на самом деле мешают. Настройка новых приложений в web2py проста через систему администратора. Так как новое приложение scaffolding копирует приветственное приложение, вы можете настроить новую настройку приложения, отредактировав приветственное приложение. С Mercurial (или Git, Subversion или Bazaar) вы можете настроить сервер на своем компьютере или на одном из общедоступных сайтов и либо нажимать, либо вытягивать обновления на ваш производственный сервер. Прошу прощения, говорю я.
Ответ 6
мы используем web2py framework для всех наших потребностей веб-приложений, и это наша настройка:
ОС - Ubuntu актуальный
IDE - Aptana Studio 3.0 с pyDev
Контроль версий - git
Python 2.7
Браузер для разработки: Chrome
Ответ 7
Я нашел отладчик Wing IDE очень полезным. Это мощный отладчик по всем направлениям, а также может быть настроен для удаленной отладки, что очень важно, когда вы используете web2py на удаленном компьютере без GUI (например, в Amazon Web Services).