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

ここで、eggを使用してインストールした場合、手動でインストールした場合のアップグレードプロセスが異なります。

私はここに卵のファイルの参照が表示されますので、Django 1.1から1.2にアップグレードするにはどうすればよいですか。

私たちは、サイトの "コンテナ" を作成するためにvirtualenvの使用VIRTUALENV

。すなわち、システムが使用するモジュールとは別のモジュールを使用することができる。

我々はモジュールをインストールするためにピップ使用し、これは

を述べているローカルドキュメントで

これは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の1.2のリリースノートを読んで、あなたのコードを壊す可能性のある後方互換性のない変更を認識する必要があり、正常に動作してDjangoのインストールをアップグレードします。また、デベロッパーサーバーで最初にこれを行い、内部apiや実装に依存しているコードが無効になる可能性があるため、デプロイメント前にテストを実行することもできます。

私はあなたを怖がらせようとしていない、かなり反対です:1.2は素晴らしいリリースです! )何かを実稼働させる前に標準的なテスト手順に従ってください;)

+0

私は完全に理解していて、それはdevサーバです。ありがとうございました。 –

関連する問題