La actualización de Pip instala la versión incorrecta de Django: ¿qué hacer?

Estaba en el caparazón seguro y decidí: --upgrade una de las aplicaciones django que estoy usando. Escribí pip install django-guardian --upgrade y noté que también estaba descargando y desempacando una versión anterior de Django de la que estoy usando actualmente: 1.3. Oops!

Mi pantalla de debugging muestra que estoy usando django 1.4.2 y python 2.7, pero desde que upgraded guardian mi aplicación funciona de manera diferente, ¿tal vez por versiones conflictivas de django? La diferencia importante es cuando se usan aplicaciones como django-ratings . Al votar utilizando django-ratings , no se muestra ningún post cuando el usuario es networkingirigido y se registra el voto:

 def authentication_requinetworking_response(self, request, context): message = _("You must be logged in to vote.") response = HttpResponse(message) response.status_code = 403 return response 

Esto muestra una página en blanco ahora. No cambié nada en mi aplicación django, pero ahora se está comportando de manera diferente. ¿Cómo debo solucionar este problema para devolver mi aplicación a su estado anterior antes de que haya --upgraded y confundido por error? Gracias por tus ideas

Recomiendo encarecidamente usar virtualenv . Le permite controlar el entorno de cada aplicación django individual en su máquina. Usted crea un entorno virtual, instala los packages que desea y luego inicia el entorno antes de iniciar su aplicación.

Puede ser tan simple como enumerar sus aplicaciones en un file de requirements , y luego instalar el file de requirements en su virtualenv –

 psycopg2==2.4.2 Django==1.4.3 Markdown==2.0 http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.7a.tar.gz Pygments==1.3.1 Twisted==10.0.0 

Hay un gran tutorial aquí .