[pyar] Odio el sys.path
Manuel Kaufmann
humitos en gmail.com
Vie Mar 18 13:24:55 ART 2011
¡Porque no lo entiendo!
Hola lista, ¿cómo están? Estoy haciendo un sitio web con Google App
Engine[0] y el framework TipFy[1].
Éste framework hace un poco de "magia" con el sys.path para que se
carguen las librerías que nosotros mismos "instalamos" bajo el
directorio "/lib" y las que ya trae en el directorio "/distlib":
---- main.py ----
import sys
if 'lib' not in sys.path:
# Add /lib as primary libraries directory, with fallback to /distlib
# and optionally to distlib loaded using zipimport.
sys.path[0:0] = ['lib', 'distlib', 'distlib.zip']
------ -------
La estructura de directorios es así:
busstopped-gae/
├── apps
│ ├── busstopped
│ │ ├── filters.py
│ │ ├── filters.py~
│ │ ├── filters.pyc
│ │ ├── forms.py
│ │ ├── forms.py~
│ │ ├── forms.pyc
│ │ ├── handlers.py
│ │ ├── handlers.py~
│ │ ├── handlers.pyc
│ │ ├── __init__.py
│ │ ├── __init__.py~
│ │ ├── __init__.pyc
│ │ ├── models.py
│ │ ├── models.py~
│ │ ├── models.pyc
│ │ ├── urls.py
│ │ ├── urls.py~
│ │ ├── urls.pyc
│ │ ├── utils.py
│ │ ├── utils.py~
│ │ └── utils.pyc
│ ├── hello_world
│ │ ├── handlers.py
│ │ ├── handlers.pyc
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── urls.py
│ │ └── urls.pyc
│ ├── __init__.py
│ └── __init__.pyc
├── app.yaml
├── config.py
├── config.pyc
├── cron
├── cron.yaml
├── distlib
├── gaeunit.py~
├── index.yaml
├── lib
├── main.py
├── main.pyc
├── settings.py
├── settings.pyc
├── static
├── templates
├── test
├── urls.py
└── urls.pyc
Entonces, tengo esto en los archivos:
---- busstopped-gae/apps/busstopped/handlers.py ----
from apps.busstopped.models import BusStop, News, BusDirection, BusPath
from apps.busstopped.forms import ViewBusStopLinesForm
from apps.busstopped.utils import get_weekday_display, now_time
[.....]
---- busstopped-gae/apps/busstopped/models.py ----
from utils import get_weekday_display, now_time
[.....]
---- busstopped-gae/apps/busstopped/utils.py ----
from apps.busstopped.models import Holiday
[.....]
Y eso me está dando este error: http://pastebin.com/kEjg84h9
File "/home/humitos/busstopped/busstopped/busstopped-gae/apps/busstopped/utils.py",
line 4, in <module>
from apps.busstopped.models import Holiday
ImportError: cannot import name Holiday
¿Qué corno estoy haciendo mal?
Muchas gracias,
[0] http://code.google.com/intl/es/appengine/docs/
[1] http://www.tipfy.org/
--
Kaufmann Manuel
Blog: http://humitos.wordpress.com/
PyAr: http://www.python.com.ar/
More information about the pyar
mailing list