2010-12-06 112 views
1

我有一臺安裝了Nginx和Django 1.1的Ubuntu服務器。在開發者的本地,他有1.2,它有一些功能(聰明的,如果)現在正在我的開發服務器上突破。我需要升級到1.2。將Django從1.1升級到1.2

這幾乎是我參與的第一個正確的django/python項目,所以我正在感受我的入侵方式。我想要做的是升級。應用中有很多額外的軟件包,例如南,分頁,登記等...

/var/www/env/example.com/lib/python2.6/site-packages 

我不是最初安裝它的人。這是我在該文件夾中看到的內容。

/var/www/env/example.com/lib/python2.6/site-packages$ ls 
Crypto        django        pycrypto-2.0.1-py2.6.egg-info 
Django-1.1.1-py2.6.egg-info   django-avatar.egg-link      registration 
Fabric-0.9.0-py2.6.egg-info   django_avatar-1.0.5-py2.6.egg-info   setuptools-0.6c9-py2.6.egg 
MySQL_python-1.2.3c1-py2.6.egg-info django_countries       setuptools.pth 
MySQLdb        django_countries-1.0.4-py2.6.egg-info  simplejson 
PIL         django_debug_toolbar-0.8.3-py2.6.egg-info simplejson-2.1.1-py2.6.egg-info 
PIL.pth        django_pagination-1.0.7-py2.6.egg-info  south 
South-0.7.2-py2.6.egg-info   django_registration-0.7-py2.6.egg-info  stdimage 
_mysql.so       easy-install.pth       virtualenvwrapper 
_mysql_exceptions.py     example         virtualenvwrapper-1.25-py2.6.egg-info 
_mysql_exceptions.pyc    fabric          yolk 
avatar        pagination         yolk- 0.4.1-py2.6.egg-info 
debug_toolbar      paramiko 

現在文檔中提到了如果使用雞蛋安裝,有一個不同的升級過程,如果它是手動安裝?

我在這裏看到提及雞蛋文件,所以我如何着手將Django 1.1升級到1.2。

VIRTUALENV

我們使用的virtualenv創建該網站的 「容器」。即,所以我們可以使用與系統使用不同的一組模塊。

在此提到

我們使用PIP模塊安裝在本地文檔:

這需要在virtualenv中(即外部運行時,我們沒有example.com的提示)

$ pip -E /var/www/env/example.com install <modulename> 

所以我可以使用pip來安全地升級Django或什麼是我的最佳升級方法?

$yolk -l 
Django   - 1.1.1  - active 
Fabric   - 0.9.0  - active 
MySQL-python - 1.2.3c1  - active 
PIL    - 1.1.7  - active 
Python   - 2.6.4rc2  - active development (/usr/lib/python2.6/lib-dynload) 
South   - 0.7.2  - active 
django-avatar - 1.0.5  - non-active 
django-avatar - 1.1a5  - active development (/var/www/env/example.com/src/avatar) 
django-countries - 1.0.4  - active 
django-debug-toolbar - 0.8.3  - active 
django-pagination - 1.0.7  - active 
django-registration - 0.7   - active 
pycrypto  - 2.0.1  - active 
setuptools  - 0.6c9  - active 
simplejson  - 2.1.1  - active 
virtualenvwrapper - 1.25   - active 
wsgiref   - 0.1.2  - active development (/usr/lib/python2.6) 
yolk   - 0.4.1  - active 

回答

3

pip -E /var/www/env/example.com install --upgrade django將正常工作和升級Django的安裝,但您可能需要閱讀Django的1.2版本說明,並瞭解可能破壞你的代碼的任何倒退不兼容的更改。此外,您可能希望首先在開發服務器上執行此操作,並在部署之前運行您可能具有的任何測試,因爲任何依賴於內部API或實現的代碼可能會失效。

我不是試圖嚇跑你,完全相反:1.2是一個偉大的版本!在將任何東西投入生產之前,請務必遵循標準測試程序;)

+0

我完全理解並且它是一個dev服務器。謝謝。 – 2010-12-07 02:39:11