Мне нужно руководство для начинающих по настройке окон для разработки на Python - PullRequest
9 голосов
/ 06 июня 2009

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

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

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

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

Ответы [ 10 ]

5 голосов
/ 06 июня 2009

Настроить среду 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 - хорошая замена, если вам нравится легкий, простой фреймворк, который вам не мешает, поэтому я изменил вышеприведенное, чтобы предложить его вместо этого.

3 голосов
/ 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, чтобы узнать о документации по юникоду, упаковке, развертывании и тестировании, а также о лучшей поддержке WSGI.

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

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

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

3 голосов
/ 06 июня 2009

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

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

3 голосов
/ 06 июня 2009

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

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

2 голосов
/ 06 июня 2009

Взгляните на Пилоны , читайте о WSGI и Вставить . Хороший вводный технический рассказ Google о них: Веб-компоненты с возможностью повторного использования с Python и будущая Python Web Development .

Вот мой ответ на аналогичный вопрос: Django против других веб-фреймворков Python?

2 голосов
1 голос
/ 12 июня 2009

ПРИМЕЧАНИЕ: я включил много ссылок на фреймворки, проекты и что-то еще, но как новый пользователь я был ограничен 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/

1 голос
/ 06 июня 2009

Окружающая среда

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

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

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

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

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

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

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

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

0 голосов
/ 06 июня 2009

Если вы работали с Eclipse раньше, чем могли бы Pydev попробовать

0 голосов
/ 06 июня 2009

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

...