Обновление Django с 1.1 до 1.2 - PullRequest
1 голос
/ 06 декабря 2010

У меня есть сервер Ubuntu с установленными Nginx и Django 1.1.На локальном сайте разработчика у него было 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 существует другой процесс обновления, если он устанавливается вручную?

Я вижу упоминаниефайлов яйца здесь, так как мне перейти к обновлению 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 Ответ

3 голосов
/ 07 декабря 2010

pip -E /var/www/env/example.com install --upgrade django будет работать правильно и обновлять установку django, однако вы можете прочитать примечания к выпуску django 1.2 и знать о любых обратно несовместимых изменениях, которые могут нарушить ваш код. Кроме того, вы можете сначала сделать это на сервере разработки и запустить любые тесты, которые у вас могут быть перед развертыванием, поскольку любой ваш код, использующий внутренние API или реализацию, может стать недействительным.

Я не пытаюсь вас напугать, скорее наоборот: 1.2 - отличный релиз! Обязательно следуйте стандартной процедуре тестирования, прежде чем запускать что-либо в производство;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...