ПРИМЕЧАНИЕ. Я включил много ссылок на фреймворки, проекты и тому подобное, но как новый пользователь я был ограничен одной ссылкой на ответ. Если кто-то другой с достаточной репутацией для редактирования захочет / может отредактировать его в этом ответе вместо сносок, я был бы признателен.
Есть некоторые среды разработки Python, такие как 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] - это фреймворк, о котором я знаю меньше всего, но, похоже, это в основном конкуренция Django.
Это все, о чем я могу думать прямо сейчас, я буду редактировать и добавлять вещи, если смогу об этом подумать. Надеюсь, это поможет вам в чудесном мире 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/
person
Merijn
schedule
12.06.2009