Мне нужно руководство для начинающих по настройке окон для разработки на Python

В настоящее время я работаю исключительно с .NET и хотел бы попробовать Python. Для этого мне нужно настроить среду разработки на Python. Мне это пригодится. Думаю, я бы занимался веб-разработкой, поэтому мне понадобится веб-сервер и, возможно, база данных. Мне также нужны указатели на популярные ORM, фреймворк MVC и библиотеку тестирования.

Один из моих главных критериев в отношении всего этого - то, что я хочу понять, как это работает, и хочу, чтобы это было как можно более изолированным. Это важно, поскольку я опасаюсь загрязнять рабочую среду .NET сторонними веб-серверами и серверами баз данных. Я совершенно счастлив использовать SQLite для начала, если это возможно.

Если я справлюсь с этим, я также, вероятно, захочу настроить автоматическую сборку и сервер ci (на виртуальной машине, возможно, ubuntu). Любые предложения по ним были бы полезны.

Моя конечная цель, если мне нравится python, - иметь инструменты, аналогичные тем, что есть у меня в .NET, и действительно разбираться в построении и развертывании всего этого. Для начала я выберу простую среду разработки, которая максимально изолирована и ее будет легко удалить, если она мне не понравится. Я не хочу использовать IronPython, так как мне нужен полный опыт разработки решения на Python с использованием обычно используемых инструментов и фреймворков.


person Jack Ryan    schedule 06.06.2009    source источник
comment
Связано: «Настройка среды Python в Windows», stackoverflow.com/questions/182053   -  person Jonik    schedule 09.06.2009


Ответы (10)


Настроить среду Python не так уж и сложно, и мне никогда не приходилось, чтобы она испортила мою работу с .NET. По сути, установите Python - я бы использовал 2.6, а не 3.0, который еще не получил широкого распространения, - и добавьте его в свой PATH, и вы готовы приступить к работе с языком. Я бы не рекомендовал использовать виртуальную машину Ubuntu в качестве среды разработки; Если вы работаете в Windows, вы можете также разрабатывать и в Windows, и у меня не было серьезных проблем с этим. Я без проблем переключаюсь с Windows на Linux.

Если у вас есть удобный редактор, имеющий базовую поддержку Python, я бы придерживался его. Если нет, то я нашел Geany приятным, легким и простым в использовании редактором с хорошим Python. поддержка, хотя я сам использую Emacs, потому что я это знаю; другим людям нравится SCITE, NotePad ++ или любой другой. Я бы избегал навороченных IDE для Python, потому что они не соответствуют символу языка, и я бы не стал беспокоиться о IDLE (включенном в Python), потому что использовать его - королевская боль.

Предложения по библиотекам и фреймворкам:

  • Django - это стандартный веб-фреймворк, но он большой, и вам придется работать как django ; Я предпочитаю CherryPy, который также активно поддерживается, но легкий, дает большую свободу и содержит приятный , надежный веб-сервер, который можно легко заменить на httpd.
  • Django включает в себя собственный ORM, что довольно приятно; есть автономный вариант для Python, который еще лучше: SQL Alchemy
  • Что касается библиотеки тестирования, мне кажется очевидным выбором pyunit

Удачи и добро пожаловать на действительно веселый язык!

РЕДАКТИРОВАТЬ сводку: изначально я рекомендовал Karrigell, но больше не могу: начиная с версии 3.0 он постоянно ломался , и сообщество недостаточно велико, чтобы решить проблемы. CherryPy - хорошая замена, если вам нравится легкий и простой фреймворк, который вам не мешает, поэтому Я изменил приведенное выше, чтобы предложить это.

person JasonFruit    schedule 06.06.2009
comment
Спасибо. Это именно то, что я искал. В настоящее время я использую e! как мой обычный текстовый редактор, и я буду использовать его для разработки на Python. - person Jack Ryan; 07.06.2009

Что ж, если вы все равно думаете о настройке виртуальной машины Ubuntu, вы можете сделать это своей средой разработки. Затем вы можете установить Apache и MySQL или Postgres на эту виртуальную машину только с помощью стандартных инструментов упаковки (apt-get install), и опасность загрязнения вашей среды Windows отсутствует.

Вы можете выполнить фактическую разработку на своей машине с Windows через свою любимую среду IDE, используя виртуальную машину в качестве сетевого диска и сохранив там код, или вы можете просто использовать виртуальную машину как полноценную среду рабочего стола и делать все там, что я и сделал. рекомендую.

person Daniel Roseman    schedule 06.06.2009

Установите предварительно настроенный выпуск ActivePython из activestate. Среди других функций он включает PythonWin IDE (только для Windows), который упрощает интерактивное изучение Python.

Рекомендуемая ссылка - Dive Into Python, неоднократно упоминавшаяся в аналогичных обсуждениях SO.

person gimel    schedule 06.06.2009

Вам следует установить python 2.4, python 2.5, python 2.6 и python 3.0 и добавить в свой путь тот, который вы используете чаще (добавьте c: \ Pythonxx \ и c: \ Pythonxx \ Scripts).

Для каждого python 2.x установите easy_install; Загрузите ez_setup.py, а затем из cmd:

c:\Python2x\python.exe x:\path\to\ez_setup.py
c:\Python2x\Scripts\easy_install virtualenv

Затем каждый раз, когда вы запускаете новый проект, создавайте новую виртуальную среду, чтобы изолировать конкретный пакет, который вам нужен для вашего проекта:

mkdir <project name>
cd <project name>
c:\Python2x\Scripts\virtualenv --no-site-packages .\v

Он создает копию Python и его библиотек в .v \ Scripts и. \ V \ Lib. Все сторонние пакеты, которые вы устанавливаете в этой среде, будут помещены в. \ V \ Lib \ site-packages. -No-site-packages не дает доступа к глобальному пакету сайта, поэтому вы можете быть уверены, что все ваши зависимости находятся в. \ V \ Lib \ site-packages.

Чтобы активировать виртуальную среду:

.\v\Scripts\activate

Для фреймворков много. Django великолепен и очень хорошо документирован, но вам, вероятно, сначала следует взглянуть на Pylons, чтобы узнать о его документации по Unicode, упаковке, развертыванию и тестированию, а также о его лучшей поддержке WSGI.

Что касается IDE, Python поставляется с IDLE, которого достаточно для обучения, однако вы можете посмотреть Eclipse + PyDev, Komodo или Wingware Python IDE. Netbean 6.5 имеет бета-поддержку Python, которая выглядит многообещающей (см. вверху 5 Python IDE).

Для веб-сервера они вам не нужны; У Python есть свои собственные, и все веб-фреймворки имеют свои собственные. Вы можете установить MySql или ProgreSql; часто лучше разрабатывать на той же базе данных, которую вы будете использовать для производства.

Кроме того, когда вы изучили Python, посмотрите Основы гибкой разработки Python или Опытное программирование на Python.

person Dinoboff    schedule 06.06.2009
comment
Звучит очень интересно. Можете ли вы объяснить, что делает настройка этих изолированных сред? Копирует ли среда выполнения в каталог, в котором вы разрабатываете? - person Jack Ryan; 07.06.2009
comment
Обратите внимание, что ActivePython уже поставляется с virtualenv / easy_install и собственным менеджером бинарных пакетов (PyPM); в будущем он также будет включать pip и IPython. - person Sridhar Ratnakumar; 09.01.2010



Окружающая обстановка?

Вот самое простое решение:

  • Установите Active Python 2.6. Это сам Python, но в нем есть несколько дополнительных полезных вещей, например DiveintoPython chm.

  • Используйте Komodo Edit 5. Это один из хороших бесплатных редакторов, которые вы можете использовать для Python.

  • Используйте IDLE. Это лучший простой редактор коротких фрагментов с подсветкой синтаксиса и автозаполнением, не имеющий аналогов в большинстве других IDE. Он поставляется в комплекте с питоном.

  • Используйте Ipython. Это оболочка, которая выполняет подсветку синтаксиса и автозаполнение, функции bash, красивую печать, ведение журнала, историю и многое другое.

  • Установите easy_install и / или pip для простой установки различных сторонних приложений.

Исходя из Visual Studio и .Net, это будет звучать по-другому, но это совершенно другой мир.

Для фреймворка лучше всего работает django. Пройдитесь по учебнику, и вы будете достаточно впечатлены. Документация потрясающая. Сообщество, вы должны увидеть сами, чтобы узнать, как оно чудесно !!

person lprsd    schedule 06.06.2009

ПРИМЕЧАНИЕ. Я включил много ссылок на фреймворки, проекты и тому подобное, но как новый пользователь я был ограничен одной ссылкой на ответ. Если кто-то другой с достаточной репутацией для редактирования захочет / может отредактировать его в этом ответе вместо сносок, я был бы признателен.

Есть некоторые среды разработки 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

Python имеет встроенный SQL, такой как база данных и веб-сервер, поэтому вам не нужно устанавливать какие-либо сторонние приложения. Помните, что в комплект поставки Python входят батарейки.

person Martin P. Hellwig    schedule 06.06.2009

Если вы работали с Eclipse до того, как могли попробовать Pydev

person kouei    schedule 06.06.2009