ПРИМЕЧАНИЕ: я включил много ссылок на фреймворки, проекты и что-то еще, но как новый пользователь я был ограничен 1 ссылкой на ответ. Если кто-то другой, обладающий достаточной репутацией для редактирования, хочет / может изменить их в этом ответе вместо сносок, я был бы признателен.
Есть некоторые Python IDE, такие как Wing IDE [1], я думаю, что некоторые люди используют Eclipse [2] с плагином python [3]. Многие люди на канале #python в FreeNode предпочитают vim, emacs, nano и подобные текстовые редакторы в пользу IDE. Мой личный предпочитаемый редактор - Vim, но если вы в основном занимались разработкой .NET для Windows, предположительно с использованием обычной Visual X IDE, vim и emacs, вероятно, вызовут у вас культурный шок, и вам лучше использовать IDE.
Почти все веб-фреймворки Python * поддерживают стандарт WSGI [4], большинство крупных веб-серверов имеют своего рода плагин для поддержки WSGI, другие поддерживают WSGI через быстрый cgi или обычный cgi.
Платформы Zope [5] и Django [6] имеют свои собственные ORM, из других ORM наиболее известными из них являются SQL Alchemy [7] и SQL Object [8]. У меня есть опыт работы только с первым, но оба поддерживают все возможные варианты баз данных, включая SQLite, который устанавливается вместе с Python и, следовательно, идеально подходит для тестирования и экспериментов, не загрязняя вашу среду .NET веб-серверами и серверами баз данных третьей части.
Встроенные инфраструктуры unittest [9] и pyunit [10], кажется, являются предпочтительными решениями для модульного тестирования, но у меня нет большого опыта с ними.
bpython [11] и ipython [12] предлагают улучшенные интерактивные оболочки Python, которые могут значительно помочь ускорить и протестировать небольшие фрагменты кода и, следовательно, заслуживают внимания.
Что касается списка хорошо известных и часто используемых веб-фреймворков, посмотрите следующие фреймворки **:
- Twisted [13] - это универсальная сетевая инфраструктура, которая поддерживает практически все протоколы под солнцем.
- Pylons [14] - это легковесная структура, нацеленная на максимально возможную гибкость и оставляющую весь выбор в отношении того, какой ORM, язык шаблонов и что - не для вас.
- CherryPy [15] пытается предоставить интерфейс для представления объектов Python в Интернете.
- Django [6] пытается быть универсальным решением, встроенной системой шаблонов, ORM, страницами администратора и интернационализацией. В то время как у предыдущих фреймворков было больше самостоятельной проводки, с ними работают различные фреймворки.
- Zope [5] нацелен на то, чтобы подходить для больших корпоративных приложений, я ничего об этом не слышал, кроме хороших слов, но, похоже, все согласны с тем, что для меньших вам, вероятно, лучше использовать одну из более простых и меньших сред .
- TurboGears [16] - это фреймворк, о котором я знаю меньше всего, но, похоже, это в основном соревнование за Джанго.
Это все, о чем я могу думать прямо сейчас, я буду редактировать и добавлять вещи, если смогу об этом подумать. Я надеюсь, что это поможет вам в удивительном мире Python.
* - Основным исключением будет Apache mod_python, которого следует избегать именно по этой причине, вместо этого используйте mod_wsgi.
** - Слово предупреждения, я лично не использовал эти фреймворки, это просто очень короткое впечатление, которое я получил от разговоров с другими людьми о каждой фреймворке, оно может быть крайне неточным. (Если у кого-то есть какие-либо исправления, оставьте комментарий, и я постараюсь отредактировать и исправить этот ответ).
(http: // отсутствует, так как иначе они распознаются как ссылки)
[1] www.wingware.com/
[2] www.eclipse.org/
[3] pydev.sourceforge.net/
[4] wsgi.org/wsgi/
[5] www.zope.org/
[6] www.djangoproject.com/
[7] www.sqlalchemy.org/
[8] www.sqlobject.org/
[9] docs.python.org/library/unittest.html
[10] pyunit.sourceforge.net/pyunit.html
[11] www.bpython-interpreter.org/
[12] ipython.scipy.org/
[13] twistedmatrix.com/trac/
[14] pylonshq.com/
[15] www.cherrypy.org/
[16] turbogears.org/