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

Я столкнулся с этой ошибкой, когда я использую Mysql Cluster, я не знаю, что этот вопрос связан с использованием кластера или нет. Поскольку ошибка точно такая же, так что дайте мое решение здесь. Получение этой ошибки из-за внезапного сбоя узлов данных. Но при сбое узлов вы можете получить правильный результат с помощью cmd:

ndb_mgm -e 'ALL REPORT MEMORYUSAGE'

И mysqld также работает правильно. Поэтому сначала я не могу понять, что не так. Примерно через 5 минут результат ndb_mgm не показывает, какой узел данных работает. Тогда я понимаю проблему. Итак, попробуйте перезагрузить все узлы данных, затем сервер mysql вернулся, и все в порядке.

Но одно странно для меня, после того, как я потерял сервер mysql для некоторых запросов, когда я использую cmd, например show tables, я все еще могу получить информацию о возврате, такую ​​как 33 rows in set (5.57 sec), но нет никакой информации о таблице отображается.

13
задан ЯegDwight 18 September 2012 в 08:59
поделиться

9 ответов

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

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


Чтобы обратиться к вашему редактору:

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

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

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

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

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

Вам не нужно много. Python поставляется с «Батареями в комплекте»

Visual Studio == IDLE. Он у вас уже есть. Если вам нужна среда, похожая на IDE, установите Komodo Edit.

NUnit == unittest . Он у вас уже есть в стандартной библиотеке.

SQL Server == sqlite . Он у вас уже есть в стандартной библиотеке.

Хватит тратить время на подготовку. Он уже присутствует в базовой установке Python.

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

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

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

1
ответ дан 1 December 2019 в 19:07
поделиться

Чтобы уменьшить вероятность выполнения / блокировки системной установки python, я обычно устанавливаю virtualenv на установка ubuntu python. Затем я создаю virtualenv в своем домашнем каталоге, чтобы последующие пакеты, которые я устанавливаю через pip или easy_install, не влияли на установку системы. И я добавляю корзину из этого 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

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

6
ответ дан 1 December 2019 в 19:07
поделиться

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

2
ответ дан 1 December 2019 в 19:07
поделиться

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

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

4
ответ дан 1 December 2019 в 19:07
поделиться

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

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

1
ответ дан 1 December 2019 в 19:07
поделиться

Если вы запустите терминал и наберете 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) Загрузите нужные вам модули прямо с их сайтов и установите их вручную. Вы, конечно, будете ответственны за их обновление.

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

3
ответ дан 1 December 2019 в 19:07
поделиться

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

0
ответ дан 1 December 2019 в 19:07
поделиться

База данных: sqlite (встроенная). Однако вам может понадобиться SQLAlchemy.

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

IDE: я использую простаивающий (встроенный) в Windows, TextMate на Mac, но вам может понравиться PyDev. Еще я слышал хорошие отзывы об улипаде.

Числа: numpy.

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

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

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

Pyparsing, просто потому что.

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

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

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

Да, и StackOverflow, если у вас есть вопросы.

0
ответ дан 1 December 2019 в 19:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: