我安装了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
答案 0 :(得分:3)
pip -E /var/www/env/example.com install --upgrade django
将正常工作并升级django安装,但您可能需要阅读django 1.2的发行说明,并了解可能会破坏您的代码的任何向后不兼容的更改。此外,您可能希望首先在开发服务器上执行此操作,并在部署之前运行您可能具有的任何测试,因为依赖于内部API或实现的任何代码都可能变为无效。
我不是想吓唬你,恰恰相反:1.2是一个伟大的释放!在将任何内容投入生产之前,请务必遵循标准测试程序;)