2012-08-05 6 views
2

Selon le documentation, si Django a été installé manuellement comme python setup.py install, le répertoire doit être supprimé manuellement.Mise à niveau de Django vers la version 1.4.1

Je trouve où Django a été installé en exécutant cette Shell

python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)" 

et supprimé répertoire django de /usr/local/lib/python2.7/dist-packages/django

Ensuite, j'ai essayé d'installer le 1.4.1 de façon automatique:

sudo pip install Django 

manière surprenante, il a refusé de l'installer:

Requirement already satisfied (use --upgrade to upgrade): Django in /usr/local/lib/python2.7/dist-packages 
Cleaning up... 

Donc je n'avais pas le choix de faire cela, même si la documentation ne reflète pas cela.

sudo pip install Django --upgrade 

Log:

Downloading/unpacking Django 
    Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded 
    Running setup.py egg_info for package Django 

Installing collected packages: Django 
    Found existing installation: Django 1.4 
    Uninstalling Django: 
     Successfully uninstalled Django 
    Running setup.py install for Django 
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755 

    changing mode of /usr/local/bin/django-admin.py to 755 
Successfully installed Django 
Cleaning up... 

Il semble que la documentation n'a pas mentionné que les fichiers django ne sont pas seulement dans /python2.7/dist-packages/django mais aussi dans /usr/local/bin/django-admin.py

Je me demande si cela est juste la façon dont je l'ont fait, puisque la documentation avertit explicitement:

Si vous utilisez cette installation technique, il est particulièrement important de supprimer d'abord les installations existantes de Django. Autrement, vous pouvez vous retrouver avec une installation cassée qui inclut des fichiers de versions précédentes qui ont depuis été supprimées de Django.

Répondre

1

tout va bien.

Normalement, il n'y a qu'un lien symbolique dans/usr/local/bin.

0

Je traverse ce genre de confusion, causée par le langage inadéquat dans les docs Django concernant l'installation de Django. Notez qu'ils disent que si vous aviez utilisé python setup.py, vous devez supprimer manuellement les éléments Django de "site-packages" --- pas de "dist-packages" comme l'a fait Kave.

Vous pouvez évidemment installer manuellement Django en le faisant glisser dans des packages de site (si vous ne l'avez pas déjà installé par PIP ou EasyInstall).

Ils disent que si vous avez utilisé PIP ou EasyInstall, vous pouvez laisser ces programmes gérer le retrait pour vous. Cela pourrait signifier que vous n'osez pas faire un retrait manuel dans ce cas, pour la raison que Kave suggéré.

Est-ce que quelqu'un avec Django était prêt à écrire comme si les mots avaient des significations précises.

Je ne peux pas revenir en arrière et expérimenter avec l'installation de 1.4 maintenant sur une version précédente, comme 1.4 est la version que j'ai commencé avec. Mais Kave, peut-être que vous, comme moi, ne vous souveniez pas exactement comment vous avez installé la version précédente. Vous avez peut-être déjà utilisé EasyInstall ou même PIP, ce qui a amené le dossier Django à être placé dans des dist-packages au lieu des packages de site.J'ai trouvé un fichier info "egg" dans le dossier dist-packages avec mon ancienne version de Django. EasyInstall utilise des oeufs; un bref aperçu des documents setup.py suggère que ce n'est pas le cas.

Questions connexes