Сценарии
Как только я создаю новый проект в 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
Как уже говорили другие, вам нужно сделать дополнительные вещи , чтобы получить автозаполнение / intellisense для web2py независимо от того, какую IDE вы используете.
Для меня NetBeans был хорошим компромиссом между делом «все, если только ты умеешь понять» (Eclipse / PyDev) и «делами - основами, но немногими» (PyScripter).
Настройка NetBeans (свойства проекта) :
- Категория Python
- Платформа Python: Python 2.x (по умолчанию Jython)
- Запустить категорию
- Основной модуль:
web2py.py
- Аргументы приложения:
-i 127.0.0.1 -p 8000 -a mypassword
Преимущества NetBeans :
- Тесная интеграция Mercurial
- Подсвечивает, какие строки были добавлены, изменены или удалены в исходном файле при редактировании
- Выборочный откат отдельных изменений, которые вы внесли с момента последнего коммита
- Один из самых хороших средств просмотра визуальных различий, которые я использовал
- Подсказки в стиле Python PEP8 (полностью настраиваемые)
- Имя "foo" не является допустимым именем класса в соответствии с вашим стилем кода (CapitalizedWords)
- Имя «Bar» не является допустимым именем функции в соответствии с вашим стилем кода (lowercase_with_underscores)
- Горячая клавиша автоматического форматирования (исправляет интервал между операторами и т. Д.)
- Навигация внутри исходного файла
- семантически индексирует текущий исходный файл
- организует в алфавитном порядке по типу (класс, метод, атрибут и т. Д.)
- позволяет управлять даже огромными таблицами стилей
Минусы NetBeans :
- Встроенный отладчик не работает с web2py (что очень больно)
- Длительное время запуска (но приемлемо для меня сразу после запуска)
Контроль версий
Я использую и очень рекомендую Mercurial для контроля версий. Как упоминалось ранее, NetBeans имеет отличную поддержку Mercurial, но есть некоторые вещи, которые я бы предпочел сделать в TortoiseHg.
Плюсы TortoiseHg :
- Значки наложения оболочки
- Проводник репозитория
- просмотр истории репо с графическим отображением ветвления / слияния
- универсальный магазин для входящих, исходящих, push, Pull, Update и т. Д. С кнопкой для инструмента Commit
- Инструмент фиксации
- Hunk Selection: вишня выбирает изменения из файла для более сфокусированных коммитов
- Добавить, удалить, изменить, вернуть, переместить, удалить, забыть
TortoiseHg Минусы :
- Нет простого способа зайти прямо в командную строку
- Ошибка, которая регулярно препятствует удалению файлов во время фиксации (ожидание освобождения блокировки undef; запуск
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, где находится ваш закрытый ключ, но это довольно легко выяснить.