2012-08-05 133 views
2

根據documentation,如果Django手動安裝,如python setup.py install那麼該目錄需要手動刪除。將Django升級到1.4.1

我發現在已安裝的Django由殼牌

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

運行此和/usr/local/lib/python2.7/dist-packages/django

刪除Django的目錄然後我試圖安裝1.4.1自動方式:

sudo pip install Django 

令人驚訝的是它拒絕安裝它:

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

所以我沒有辦法做到這一點,儘管文檔沒有反映出這一點。

sudo pip install Django --upgrade 

登錄:

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... 

看來文檔也沒有提到,Django的文件不只是在/python2.7/dist-packages/django而且在/usr/local/bin/django-admin.py

我不知道這是正確的方式我由於文檔明確警告:

如果您使用此安裝技術,特別重要的是您首先刪除了Django的所有現有安裝。否則, 可能會導致損壞的安裝,其中包括以前已從Django中刪除的以前版本的 文件。

回答

1

一切都好。

通常在/ usr/local/bin中只有一個符號鏈接。

0

我正在經歷這種混亂,是由於Django文檔中關於如何安裝Django的語言不足造成的。請注意,他們確實說過,如果您使用過python setup.py,那麼您必須從「site-packages」手動刪除Django的內容,而不是像Kave那樣從「dist-packages」中刪除。

您可以很明顯地通過將Django拖動到站點包(如果您尚未通過PIP或EasyInstall安裝它)來手動安裝它。

他們說,如果您使用過PIP或EasyInstall,那麼您可以讓這些程序處理您的移除。這可能意味着你不敢在這種情況下進行手動刪除,因爲Kave建議。

會不會有人與Django願意寫作,就好像單詞具有準確的含義一樣。

我不能回去嘗試在現有版本上安裝1.4,因爲1.4是我開始使用的版本。但是卡夫,也許你和我一樣,並不記得你是如何安裝以前的版本的。您可能在當時使用了EasyInstall或甚至PIP,因此導致Django文件夾被放置在dist-packages而不是site-packages中。

我用我的舊Django版本在dist-packages文件夾中找到了一個「蛋」信息文件。 EasyInstall使用雞蛋;對setup.py文檔的簡要介紹表明它沒有。