Подтвердить что ты не робот

Как настроить среду разработки Python на Linux?

Я разработчик .NET, который очень мало знает о Python, но хочу дать ему тестовый диск для небольшого проекта, над которым я работаю.

Какие инструменты и пакеты следует устанавливать на моей машине? Я ищу общую, несколько всеобъемлющую среду разработки.

Я, скорее всего, запустил Ubuntu 9.10, но я гибкий. Если Windows - лучший вариант, это тоже хорошо.

Изменить: Чтобы уточнить, я не ищу минимального минимума для запуска программы Python. Я бы не ожидал, что новичок .NET dev будет использовать блокнот и компилятор. Я бы рекомендовал Visual Studio, NUnit, SQL Server и т.д.

4b9b3361

Ответ 1

В вашей системе уже есть Python. Используйте текстовый редактор или IDE по вашему выбору; Мне нравится vim.

Я не могу сказать вам, какие модули сторонних производителей вам нужны, не зная, какое развитие вы будете делать. Используйте apt столько, сколько вы можете, чтобы получить библиотеки.


Чтобы перейти к редактированию:

Это не минималистично, как передача записной книжки .NET новичка и компилятора: достойный текстовый редактор и stdlib - все, что вам действительно нужно начинать. Вероятно, вам понадобятся сторонние библиотеки для разработки любых приложений, которые вы пишете, но я не могу придумать какие-либо сторонние модули, в которых все программисты Python действительно понадобятся или захотят.

Отмените мир программирования .NET/Windows, нет ни одного набора инструментов для разработчиков, который стоит выше всех остальных. Разные люди используют разные редакторы. В Python пространство имен модулей полностью входит в один файл, а организация проекта основана на файловой системе, поэтому люди не опираются на свои IDE так же сильно. В разных проектах используется другое программное обеспечение для управления версиями, которое недавно появилось на новых лицах. Большинство из них лучше, чем TFS, и все они в 1000 раз лучше, чем SourceSafe.

Когда мне нужен интерактивный сеанс, я использую интерпретатор vanilla Python. Существуют еще более причудливые переводчики: bpython, ipython, IDLE. bpython - это наименее интересное из них и, как предполагается, хорош в том, чтобы не делать странных вещей. ipython и IDLE могут привести к странным ошибкам, когда код, который работает в них, не работает в обычном Python и наоборот; Я видел эту первую руку с IDLE.

Для некоторых инструментов, о которых вы спрашивали, и некоторых других

  • В .NET вы должны использовать NUnit. В Python используйте модуль stdlib unittest. Существуют различные сторонние расширения и тестовые ролики, но unittest вам подойдет.
    • Если вы действительно хотите изучить что-то, кроме этого, получите unittest2, backport версии 2.7 unittest. Он включил все лучшие вещи из сторонних инструментов и действительно опрятен.
  • В .NET вы должны использовать SQL Server. В Python вы можете использовать PostgreSQL, MySQL, sqlite или другую базу данных. Python определяет унифицированный API для баз данных, и перенос от одного к другому обычно проходит довольно гладко. sqlite находится в stdlib.
    • Существуют различные реляционные модели объектов, которые упрощают использование баз данных. SQLAlchemy является наиболее заметным из них.
  • Если вы выполняете сетевое программирование, получите Twisted.
  • Если вы выполняете численную математику, получите numpy и scipy.
  • Если вы занимаетесь веб-разработкой, выберите фреймворк. Есть около 200000: Pylons, zope, Django, CherryPy, werkzeug... Я не буду утруждать себя аргументом, рекомендуя его. Большинство из них будут работать с различными серверами с быстрой настройкой.
  • Если вы хотите создать графический интерфейс, существует довольно много привязок Python. Stdlib отправляется с привязками Tk, я бы не стал беспокоиться. Существуют wx-привязки (wxpython), привязки GTK + (pygtk) и два набора привязок Qt. Если вы хотите создать собственный графический интерфейс Windows, получите IronPython и сделайте это в .NET. Есть привязки win32, но они заставят вас хотеть вытащить ваши волосы, пытаясь использовать их напрямую.

Ответ 2

Чтобы уменьшить вероятность выполнения/запуска установки системы python, я обычно устанавливаю virtualenv на установку python ubuntu. Затем я создаю virtualenv в своем домашнем каталоге, так что последующие пакеты, которые я устанавливаю через pip или easy_install, не влияют на установку системы. И я добавляю bin из этого virtualenv на свой путь через . Bashrc

$ sudo apt-get install python-virtualenv
$ virtualenv --no-site-packages ~/local
$ PATH=~/local/bin:$PATH #<----- add this to .bashrc to make it permanent
$ easy_install virtualenv #<--- so that project environments are based off your local environment rather than the system, probably not necessary

Установите свой любимый редактор, мне нравится emacs + rope, но редакторы являются личным предпочтением, и есть много вариантов.

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

~/projects $ virtualenv --no-site-packages my_new_project.env
~/projects/my_new_project.env $ source bin/activate
(my_new_project.env)~/projects/my_new_project.env $ easy_install paste ipython #whatever else I think I need
(my_new_project.env)~/projects/my_new_project.env $ emacs ./ & # start hacking

При создании нового пакета..., чтобы иметь что-то, что будет easy_installable/pippable, используйте paster create

(my_new_project.env)~/projects/my_new_project.env$ paster create new_package
(my_new_project.env)~/projects/my_new_project.env/new_package$ python setup.py develop new_package

Это общее, насколько я могу думать об этом. Все остальное будет специфичным для редактора/версии.

Ответ 3

Так как я привык к Eclipse, я нахожу Eclipse + PyDev удобным для Python. Для быстрых вычислений Idle отлично работает.

Я использовал Python для Windows и Ubuntu, а Linux намного чище.

Ответ 4

Если вы запустите терминал и наберите python, вы получите интерпретатор, в котором вы можете попробовать попробовать.

На всякий случай, если вы его не видели, ознакомьтесь с книгой Dive Into Python, она бесплатна в режиме онлайн. http://www.diveintopython.org/

Следуйте примерам в книге, используя интерпретатор.

Для хранения вашей работы вы можете использовать любой редактор; Vim или EMACS могут быть самыми мощными, но также самыми трудными для изучения в первую очередь. Если вам нужна более "традиционная" среда IDE, вы можете попробовать WingIDE. http://www.wingware.com/

После того, как вы начнете более комфортно работать с python, вы должны попробовать улучшенный интерпретатор; попробуйте ipython. http://ipython.scipy.org/moin/

Когда вы начинаете разрабатывать более серьезный проект, вам нужно будет получить дополнительные модули. Здесь у вас есть два варианта; 1) Используйте инструменты распространения для установки дополнительных модулей; или 2) Загрузите модули, которые вам нужны непосредственно со своих сайтов, и установите их вручную. Вы будете нести ответственность за их обновление, конечно.

Вы должны сами решить, к какому пути идти. Лично я предпочитаю загружать и устанавливать дополнительные модули вручную.

Ответ 5

Python (duh), setuptools или pip, virtualenv и редактор. Я предлагаю geany, но это только я. И, конечно же, любые другие модули Python, которые вам понадобятся.

Ответ 6

Как добраться до Python из мира .NET

Переход в мир Linux из фон .NET/WIndows может быть немного обескураживающим (но я рекомендую вам продолжать работу с Linux)

Но я бы предложил всем, кто пришел из Windows, немного поработать с Windows. goto www.Activestate.com и загрузить их пакет Python - он включает в себя полные расширения Win32com от Марка Хэммонда, а также включает полную, быструю IDE "pythonwin"

Я сделал реальную профессиональную разработку только с этой установкой в ​​окне окна - один 14 МБ .msi и от вас!

Теперь, чтобы использовать Python для DLR (Dynamic common language runtime), вам необходимо загрузить IronPython. Это отдельный переводчик, который также был первоначально написан Марком Хэммондом в Microsoft и находится на сайте ironpython.org.

С этим вы можете запускать код вроде (из википедии)::

import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")

Теперь вы можете получить доступ к любому .NET-коду из python.

Ответ 7

Если вы только начинаете с Python, я бы на самом деле не возражал против сложности virtualenv (который, я думаю, может быть довольно подавляющим), по крайней мере, пока вы не овладеете основами Python (особенно в отношении управления библиотекой/зависимостями).

Если вы используете среду рабочего стола Ubuntu и Gnome, gedit является текстовым редактором по умолчанию (gui) и имеет большую поддержку для встроенного Python. Поэтому моя рекомендация - начать с предварительно установленного Python и gedit (который довольно расширяемый сам по себе).

Ответ 8

Вам не нужно многого. Python поставляется с "Батарейки включены".

Visual Studio == IDLE. У вас уже есть это. Если вы хотите больше среды, подобной среде IDE, установите Komodo Edit.

NUnit == unittest. Вы уже имеете его в стандартной библиотеке.

SQL Server == sqlite. Вы уже имеете его в стандартной библиотеке.

Прекратите тратить время на то, чтобы все готово. Он уже существует в базовой установке Python.

Приступайте к работе.

Linux, BTW, - это прежде всего среда разработки. Он был разработан и создан разработчиками для разработчиков. Windows - это среда конечного пользователя, которая должна быть дополнена для разработки.

Linux первоначально была ориентирована на разработчиков. Все необходимые инструменты либо уже существуют, либо являются частью простой установки yum или RPM.

Ответ 9

Вы, вероятно, хотели бы дать NetBeans Python IDE. Вы можете использовать либо Windows/Linux.

Ответ 10

База данных: sqlite (встроенный). Возможно, вы захотите SQLAlchemy.

GUI: tcl встроен, но рекомендуется использовать wxPython или pyQt.

IDE: я использую незанятые (встроенные) окна, TextMate на Mac, но вам может понравиться PyDev. Я также слышал хорошие вещи о ulipad.

Числовые: numpy.

Быстрый встроенный код: множество опций. Мне нравится форматирование (часть scipy), но вы можете посмотреть в ctypes (использовать dll), Cython и т.д.

Веб-сервер: слишком много вариантов. Django (плюс Apache) является самым большим.

Модульные испытания: встроенные.

Pyparsing, только потому что.

BeautifulSoup (или другой хороший парсер HTML).

hg, git или какой-либо другой хороший VC.

Trac или другая система ошибок.

О, и StackOverflow, если у вас есть какие-либо вопросы.