Подтвердить что ты не робот

Хорошая настройка среды разработки для 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

Спасибо большое!

4b9b3361

Ответ 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).