Pregunta

En seguimiento a mi del año pasado pregunta sobre la documentación, ahora quiero llegar comenzó y probar Python-basada Sphinx para la elaboración de la documentación para desarrolladores de PHP CMS que he estado trabajando sucesivamente.

En lugar de instalar Python localmente en mi estación de trabajo, me gustaría que se ejecutan en un servidor de acceso público desde el principio. Todos los paquetes de alojamiento web que tienen acceso a correr en la pila LAMP, y estoy reacios a comprar basado en Python de alojamiento. Estoy muy interesado en el Google App Engine, las cuotas gratuitas que proporcionan va a hacer por mí más de cien veces, e incluso si no, su apariencia de precios muy razonables.

Ahora tengo cero conocimiento de Python - Sphinx conseguir que el trabajo sería mi primer contacto con él - y muy poco tiempo. Por lo que yo entiendo, las bibliotecas de la plataforma y el pitón App Engine ofrece son muy compatibles a una biblioteca estándar de Python, pero no idénticos .

Así que mi pregunta es:

  • Can Sphinx plazo en App Engine en absoluto?

  • es la instalación de Sphinx en la App Engine tan sencillo como si iba a instalarlo en la parte superior de una instalación normal de Python? ¿O será el entorno del App Engine requerir ajustar el código fuente que no puedo realizar en un tiempo razonable con mi nivel actual de Python?

  • ¿Debo estar instalando Sphinx en un servidor local y una pila "normal" de Python en lugar primero?

  • ¿Alguien sabe cualquier útiles como hacer cosas, tutoriales u otros recursos para esto?

¿Fue útil?

Solución

Interesante proyecto! El principal problema que va a ejecutar en es el del acceso de sistema de archivos: el sistema de ficheros en App Engine es de sólo lectura, y en base a mirar a la fuente, Sphinx es bastante duro codificadas para utilizar el sistema de archivos para la salida. También espera para leer el archivo de configuración y archivos de entrada desde el sistema de archivos local, lo que haría que la construcción de documentos para que no sean proyectos agrupados con la aplicación complicado.

nada

es posible solucionar este problema, pero requeriría escribir un sistema de ficheros virtual simple que utiliza el almacén de datos de App Engine, y el uso de monkeypatching para que funcione con la interfaz de archivo de Python regular. Eso está bastante avanzada para un proyecto "nuevo en Python"!

Otra cosa que puede que desee considerar si estuviera ponderando lo que permite a los usuarios cargar proyectos a ser documentado: El archivo de configuración de la esfinge es en Python, por lo ejecutando podría ser peligroso - un usuario podría hacer cosas desagradables a su aplicación con una archivo de configuración maliciosa!

Otros consejos

No es necesario instalar esfinge en GAE en absoluto.

Se utiliza Sphinx para crear un directorio de HTML estático, CSS y JS. Una vez finalizada esta etapa, sólo tiene que cargar la salida de Sphinx -. En su totalidad

La salida de Sphinx (HTML, CSS y JS) es simplemente sirvió de un lugar . Subes a la documentación desde donde creó a GAE como archivos estáticos y servirlos. Hecho.

No hay "instalar en un servidor web" aspecto a Sphinx en absoluto. Sphinx no es una aplicación web; no se ejecuta en el servidor web. Lo ejecuta en el desarrollo brevemente para publicar la documentación de HTML, LaTeX o lo que sea. Una vez que haya creado los archivos HTML estático, ya no es necesario ninguna parte de la esfinge en cualquier lugar.

  

Can Sphinx plazo en App Engine en absoluto?

supongo que puede, pero que no será necesario.

  

Sphinx está instalando en la App Engine   tan sencillo como ...

No importa, porque no se instale allí. Lo instala en su estación de trabajo y lo utilizan en su estación de trabajo.

  

¿Debo estar instalando Sphinx en una   servidor local y una "normal" de Python   apilar vez primera?

No lo instale en un servidor. Instalarlo en su estación de trabajo.

  

¿Alguien sabe cualquier útil   Cómo-a, tutoriales u otros recursos   para esto?

Si por "este" que significa "la instalación en un servidor web", a continuación, a continuación, la respuesta es "no". Uno no lo instala en un servidor web. Así que ya no hay cómo-a, tutoriales o recursos para "instalar en un servidor web".

Si por "este" que significa "la creación de documentación con la Esfinge", entonces la respuesta es "¿qué te pasa http: // sphinx.pocoo.org ? ¿Qué es lo que les falta?


  

Me gustaría "motor" de la esfinge que   convierte la entrada (que consiste de descanso   archivos) en HTML / CSS / JS sean   accesible desde cualquier lugar que me haga   (y posibles otros colaboradores)   independiente de una específica   estación de trabajo.

Esfinge es como un compilador. Cada uno tiene su propia copia en su estación de trabajo. Se descarga el origen del documento, los cambios de maquillaje, comprometen la fuente cambia, y subir el documento resultante.

  

servir a la documentación generada a partir   el mismo lugar.

correcta. Después de descargar los cambios de código, maquillaje, vuelve a generar el documento y confirme los cambios, se carga el documento resultante por lo que se sirve de uno - y sólo uno -. Lugar

Sphinx es un compilador. No es un "motor web". Es un simple compilador que simplemente recopila la documentación en HTML para que pueda ser servido.

La diferencia entre la implementación a nivel local a través de dev_appserver y de forma remota a través de appcfg ha sido - en mi experiencia - limitado a cuál de los dos comandos que ejecutar. Dicho esto, no tengo experiencia con Sphinx.

Esfinge compila documentación, ejecutarlo en un servidor web tiene tanto sentido como ejecutar gcc en un servidor web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top