Неплохо быть с системным python, потому что, как вы заметили, Ubuntu широко использует python, поэтому любое изменение может сделать вашу систему неустойчивой.
Кроме того, как разработчик, я могу сказать вы, что глобальная установка сторонних библиотек в вашу систему Python тоже не очень хорошая - все начнет разваливаться, как только у вас есть два проекта, которые требуют, например, разных версий Django.
К счастью, Python имеет очень хорошие инструменты для создания изолированных сред, которые могут быть полностью независимы от системы Python.
Посмотрите на virtualenv и zc.buildout (вместе с djangorecipe) для цивилизованного решения вашей проблемы. :)
UPDATE: Вкратце, вот как zc.buildout решит вашу проблему:
Вы создаете каталог, в который вы помещаете virtualenv и buildout.cfg файл, который содержит
[buildout]
parts = django
versions = versions
[versions]
django = 1.2.5
[django]
recipe = djangorecipe
settings = development
eggs = ${buildout:eggs}
project = mymegaapp
Затем вы запускаете /path/to/python/interpreter/python bootstrap.py, после чего ваша сборка «запоминает» используемый вами интерпретатор python. Он также создает каталог bin, где все ваши «глобальные» сценарии будут автоматически сгенерированы. Затем вы запустите bin/buildout, который загружает и устанавливает Django указанной версии, создает пустой проект под названием «mymegaapp» и т. Д. После его завершения вы найдете команду django в каталоге bin, которая эквивалентна django- admin.py, чтобы вы могли запускать
bin/django syncdb
bin/django runserver
и т. д. Вам никогда не придется беспокоиться о том, чтобы не использовать правильный интерпретатор. Конечно, это всего лишь небольшая часть того, что вы можете сделать с помощью buildout ... просто подумайте о том, чтобы добавить buildout.cfg в VCS, чтобы вы могли повторно создать приложение со всеми зависимостями в точных версиях, даже в нескольких через несколько лет ... или о наличии нескольких конфигураций для разных «конфигураций развертывания»:)
Для быстрого примера, как это сделать с помощью virtualenv, вы можете взглянуть на эту статью - инструкции должны работать отдельно с самой первой части - вам нужно будет установить setuptools с вашим pypy, а не с помощью «стандартного» интерпретатора. Затем вы будете использовать скрипт python, сгенерированный в каталоге bin вашей песочницы:
cd myapp
../venv/bin/python manage.py runserver 0.0.0.0:8000
(У меня возникает ощущение, что вопрос становится все менее и менее актуальным для Ubuntu ... если мы попросим его для переноса в stackoverflow?)
Насколько я знаю, вы не можете. Причина, по которой ошибки не исчезают, заключается в том, что их срочность, вероятно, установлена на CRITICAL, а поведение gnome-shell - всегда расширять их и закрываться только при нажатии. Возможно, вы сможете изменить срочность уведомлений об ошибках в вашем приложении. Проверьте документацию.