Назад | Перейти на главную страницу

Как обновить django на ubuntu 9.04?

У меня установлен Django 1.0.2 на Ubuntu 9.04. Я бы хотел обновить Django, потому что у меня есть приложение, для которого требуется Django 1.1 или выше. Я пробовал использовать pip для обновления, но получил следующее:

$ sudo pip install Django==1.1
Downloading/unpacking Django==1.1
  Downloading Django-1.1.tar.gz (5.6Mb): 5.6Mb downloaded
  Running setup.py egg_info for package Django
Installing collected packages: Django
  Found existing installation: Django 1.0.2-final
    Not uninstalling Django at /var/lib/python-support/python2.6, outside environment /usr
  Running setup.py install for Django
    changing mode of build/scripts-2.6/django-admin.py from 644 to 755
    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed Django

Вроде как это сработало, но он отказывается удалить оригинальный Django 1.02, и, конечно же:

$ pip freeze | grep -i django
Django==1.0.2-final
django-debug-toolbar==0.8.3
django-sphinx==2.2.3
$ /usr/local/bin/django-admin.py --version
1.0.2 final

Проблема, видимо, в том, что pip не удаляет файлы вне / usr.

Я хотел бы удалить существующие файлы Django вручную, но я не знаю, как это сделать, потому что я не знаком с тем, как пакеты Python размещаются в Ubuntu. Выглядит довольно сложно.

Каталог сайтов-пакетов:

$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.6/dist-packages

Однако файлы django не там:

$ ls -ld /usr/lib/python2.6/dist-packages/[Dd]jango*
ls: cannot access /usr/lib/python2.6/dist-packages/[Dd]jango*: No such file or directory

Есть /var/lib/python-support/python2.6/django каталог, а __init__.py файл в этом каталоге указывает на /usr/share/python-support/python-django/django/__init__.py.

Очевидно, pip может определить, где находятся файлы. Есть ли способ получить список файлов, связанных с пакетом django, чтобы я мог просто удалить их вручную?

Сделать это немного поздно, так как Django 1.2 уже давно отсутствует, но я только что удалил старую установку:

sudo apt-get remove python-django

А затем установил новую версию Django (на тот момент 1.2.3), используя:

sudo easy_install django

бегать

pip uninstall Dhango

затем

pip install Django==1.1

Сделайте все необходимое резервное копирование, затем я просто перейду по ссылке для обновления, которое у меня получилось, я использую centos 5.2 django-upgrade