¿Por qué recibo un ImportError cuando ejecuto uno de los tutoriales de CherryPy?
Pregunta
He instalado CherryPy 3.1.0 ,. Esto es lo que sucede cuando intento ejecutar el tutorial 9:
$ cd /Library/Python/2.5/site-packages/cherrypy/tutorial/
$ python tut09_files.py
Traceback (most recent call last):
File "tut09_files.py", line 48, in <module>
from cherrypy.lib import static
ImportError: cannot import name static
La línea anterior en el archivo:
import cherrypy
pasa sin error, por lo que parece que puede encontrar cherrypy en el camino. ¿Qué me estoy perdiendo?
Solución
Esto funciona para mí, y también estoy usando CherryPy 3.1.0, así que no estoy seguro de qué decirle.
Busque en su directorio /Library/Python/2.5/site-packages/cherrypy/lib un archivo llamado static.py; si este archivo existe, no estoy seguro de qué decirle. Si no es así, algo le sucedió a su CherryPy y le aconsejaría que lo reinstale. Si es así, debe verificar el valor de sys.path
para asegurarse de que está detectando la versión correcta de CherryPy.
También puede intentar ejecutar el intérprete de Python en la línea de comando y luego hacer un desde cherrypy.lib import static
para ver si obtiene el mismo resultado.
Otros consejos
Tenía un viejo archivo CherryPy-2.3.0-py2.5.egg en los paquetes de mi sitio. Después de eliminar el antiguo .egg, podría ejecutar el tutorial.