Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've got Django 1.0.2 installed on Ubuntu 9.04. I'd like to upgrade Django, because I have an app that needs Django 1.1 or greater. I tried using pip to do the upgrade, but got the following:

$ 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

It seems like it worked, but it refuses to remove the original Django 1.02, and sure enough:

$ 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

The problem, apparently, is that pip won't uninstall files outside of /usr.

I'd like to remove the existing Django files manually, but I have no idea how to do that, because I'm unfamiliar with how Python packages are laid out in Ubuntu. It looks pretty complicated.

The site-packages directory is:

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

However, that's not where the django files live:

$ 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

There's a /var/lib/python-support/python2.6/django directory, and the __init__.py file in that directory points to /usr/share/python-support/python-django/django/__init__.py.

Clearly, pip is able to figure out where the files live. Is there any way to retrieve the list of files associated with the django package so I can just delete them manually?

share|improve this question
    
do this pip freeze | grep -i django –  Mike Jun 22 '10 at 17:26
    
Thanks, Mike. The package is indeed listed in the pip freeze output. –  Lorin Hochstein Jun 22 '10 at 18:19

3 Answers 3

Doing this a little late, since Django 1.2 has been out for a while now, but I just removed the old install:

sudo apt-get remove python-django

And then installed the new version of Django (1.2.3 at the time) using:

sudo easy_install django
share|improve this answer

Take a all require backup then i just follow link for the upgrade i got working i'm using centos 5.2 django-upgrade

share|improve this answer
    
Backup your files then use django-upgrade. –  mcandre Jun 22 '10 at 18:22
    
Rajat, mcandre, I see no reference to "django-upgrade" anywhere on the linked page. Google isn't too helpful either. –  Lorin Hochstein Jun 22 '10 at 18:26
    
I didn't mean to upgrade in fact i have remove every thing and re-install just using link. –  Rajat Jun 22 '10 at 18:36
    
The problem is, I don't know how to remove everything because it seems to have files all over the place. –  Lorin Hochstein Jun 23 '10 at 0:25

run

pip uninstall Dhango

then

pip install Django==1.1
share|improve this answer
    
pip won't uninstall it because the package contains files outside of /usr. The error message is: "Not uninstalling Django at /var/lib/python-support/python2.6, outside environment /usr". See the link in the original question. –  Lorin Hochstein Jun 23 '10 at 0:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.