将Django从1.1升级到1.2

时间:2010-12-06 16:11:35

标签: python django virtualenv

我安装了Nginx和Django 1.1的Ubuntu服务器。在开发人员的本地他有1.2,它有一些功能(智能如果)现在破坏我的开发服务器。我需要升级到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

现在,文档提到了一些关于如果使用egg安装的内容,如果手动安装,会有不同的升级过程吗?

我确实在这里看到了egg文件,所以如何将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

1 个答案:

答案 0 :(得分:3)

pip -E /var/www/env/example.com install --upgrade django将正常工作并升级django安装,但您可能需要阅读django 1.2的发行说明,并了解可能会破坏您的代码的任何向后不兼容的更改。此外,您可能希望首先在开发服务器上执行此操作,并在部署之前运行您可能具有的任何测试,因为依赖于内部API或实现的任何代码都可能变为无效。

我不是想吓唬你,恰恰相反:1.2是一个伟大的释放!在将任何内容投入生产之前,请务必遵循标准测试程序;)