2010-12-06 118 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