2011-11-30 20 views
14

No sé absolutamente nada sobre Django, pero necesito ejecutar un proyecto existente en OSX.¿Cómo instalo los módulos de Python/Django?

Desde el directorio del proyecto ejecuto python manage.py runserver y obtengo el error: Error: No module named cms.

Parece que la constante INSTALLED_APPS (en settings.py) define los módulos necesarios ... pero ¿cómo instalo los elementos de dang?

¿Existe una manera estándar de instalar dependencias a granel (como Ruby's Bundler)?

Respuesta

21

puede instalar todas las dependencias una vez, si hay un archivo requirements.txt! sólo hay que ejecutar el comando siguiente:

pip install -r requirements.txt 

lo contrario se puede instalar uno por uno:

pip install django-cms 

Aquí está la documentación PIP: http://pypi.python.org/pypi/pip

si estás acostumbrado al rubí, se puede comparar con rubí GEM

2

Bueno, un poco de google no le haría daño;)

Necesita un administrador de paquetes Python como easy_install y pip. Prueba esta guía:

http://blog.praveengollakota.com/47430655

Después de eso, sólo puede ejecutar "PIP instalar Django cms"

+0

Gracias. Créalo o no, Google no apareció nada obvio ... su enlace es muy útil, gracias. –

7

Las entradas en INSTALLED_APPS son designaciones del paquete. Packages son una forma de estructurar el espacio de nombres del módulo de Python.

When importing a package, Python searches through the directories on sys.path looking for the package subdirectory.

So python tiene algunos lugares designados para buscar paquetes.

Para instalar paquetes por nombre en la ubicación correcta en su sistema, puede descargar algún código fuente python y ejecutar el script setup.py (proporcionado generalmente por bibliotecas y aplicaciones).

$ cd /tmp 
$ wget http://pypi.python.org/packages/source/p/pytz/pytz-2011n.tar.bz2 
$ tar xvfj pytz-2011n.tar.bz2 
$ cd pytz-2011n 
$ python setup.py install 

Hay, sin embargo, los accesos directos a esto, a saber easy_install y es el sucesor pip. Con estas herramientas, la instalación de un paquete de terceros (o aplicación Django) se reduce a:

$ pip install pytz 

O, si se utiliza la instalación de sistemas por defecto de Python:

$ sudo pip install pytz 

Eso es todo. Ahora puede usar esta biblioteca, donde quiera. Para comprobar, si se ha instalado correctamente, a modo de prueba en la consola:

$ python 
Python 2.7.2 (default, Aug 20 2011, 05:03:24) 
... 
>>> import pytz # you would get an ImportError, if pytz could not be found 
>>> pytz.__version__ 
'2011n' 

Ahora en aras de la brevedad (este post es mucho tiempo ya), vamos a suponer pytz fuera una tercera aplicación Django partido.Simplemente escribiría:

INSTALLED_APPS = (
    'pytz', 
) 

Y pytz estaría disponible en su proyecto.

Nota: Tengo tiempo, eche un vistazo a la publicación de blog Tools of the Modern Python Hacker: Virtualenv, Fabric and Pip, que destaca algunas excelentes herramientas de infraestructura de python.