Я столкнулся с этой ошибкой, когда я использую 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)
, но нет никакой информации о таблице отображается.
В вашей системе уже есть Python. Используйте текстовый редактор или IDE по вашему выбору; Мне нравится vim.
Я не могу сказать вам, какие сторонние модули вам нужны, не зная, какой разработкой вы будете заниматься. Используйте apt как можно больше, чтобы получить библиотеки.
Чтобы обратиться к вашему редактору:
Это не минималистично, как передача блокнота новичка .NET и компилятора: приличный текстовый редактор и stdlib - это все, что вам действительно нужно для начала. Скорее всего, вам понадобятся сторонние библиотеки для разработки любых приложений, которые вы пишете, но я не могу вспомнить какие-либо сторонние модули , которые все Python-программисты действительно понадобятся или захотят.
За исключением мира программирования .NET / Windows, нет ни одного набора инструментов разработки, который бы превосходил все остальные. Разные люди часто пользуются разными редакторами. В Python пространство имен модуля полностью находится в одном файле, а организация проекта основана на файловой системе, поэтому люди не так сильно полагаются на свои IDE. В разных проектах используется разное программное обеспечение для управления версиями, которое в последнее время быстро набирает обороты. Большинство из них лучше, чем TFS, и все в 1000 раз лучше, чем SourceSafe.
Когда мне нужен интерактивный сеанс, я использую обычный интерпретатор Python. Существуют различные более причудливые интерпретаторы: bpython, ipython, IDLE. bpython - наименее изощренный из них, и предполагается, что он не делает странных вещей. ipython и IDLE могут приводить к странным ошибкам, когда код, который в них работает, не работает в обычном Python и наоборот; Я видел это на собственном опыте с IDLE.
Для некоторых инструментов, о которых вы спрашивали, и некоторых других
unittest
. Существуют различные сторонние расширения и средства запуска тестов, но unittest
вам подойдет.
unittest2
, бэкпорт версии 2.7 unittest
. Он вобрал в себя все самое лучшее от сторонних инструментов и действительно хорош. Вам не нужно много. Python поставляется с «Батареями в комплекте»
Visual Studio == IDLE. Он у вас уже есть. Если вам нужна среда, похожая на IDE, установите Komodo Edit.
NUnit == unittest
. Он у вас уже есть в стандартной библиотеке.
SQL Server == sqlite
. Он у вас уже есть в стандартной библиотеке.
Хватит тратить время на подготовку. Он уже присутствует в базовой установке Python.
Приступайте к работе.
Linux, BTW, - это в первую очередь среда разработки. Он был разработан и построен разработчиками для разработчиков. Windows - это среда конечного пользователя, которую необходимо дополнить для разработки.
Изначально Linux был ориентирован на разработчиков. Все необходимые инструменты либо уже есть, либо являются частью простой установки yum или RPM.
Чтобы уменьшить вероятность выполнения / блокировки системной установки 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
Насколько я могу себе представить, это обычное дело. Все остальное будет зависеть от редактора / инструмента управления версиями
Python (да), setuptools или pip, virtualenv и редактор. Я предлагаю geany, но это только я. И, конечно же, любые другие модули Python, которые вам понадобятся.
Поскольку я привык к Eclipse, я считаю, что Eclipse + PyDev удобен для Python. Для быстрых вычислений отлично подходит Idle.
Я использовал Python в Windows и Ubuntu, и Linux намного чище.
Если вы только начинаете работать с Python, я бы на самом деле выступил против добавления сложности virtualenv
(что, я думаю, может быть довольно подавляющим), по крайней мере, до тех пор, пока вы получил твердое представление об основах Python (особенно в отношении управления библиотеками / зависимостями).
Если вы используете Ubuntu и среду рабочего стола Gnome, gedit
является текстовым редактором по умолчанию (gui) и имеет отличную встроенную поддержку Python. Поэтому я рекомендую начать с предварительной версии. установил Python и gedit
(который сам по себе довольно расширяемый ).
Если вы запустите терминал и наберете 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) Загрузите нужные вам модули прямо с их сайтов и установите их вручную. Вы, конечно, будете ответственны за их обновление.
Вам придется решить для себя, каким путем идти. Лично я предпочитаю загружать и устанавливать дополнительные модули вручную.
Вы, вероятно, хотели бы попробовать NetBeans Python IDE . Вы можете использовать либо Windows / Linux.
База данных: 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, если у вас есть вопросы.