2011-02-19 37 views
25

Me gustaría crear una extensión de Google Chrome. Específicamente, me gustaría hacer una aplicación empaquetada, pero no una aplicación alojada. ¿Estoy en lo correcto al pensar que esto me limita a JavaScript (y HTML/CSS)?Extensión de Chrome en python?

Mi problema es que tengo que hacer algunos cálculos matemáticos complejos (descomposición de valores singulares, análisis de factores) y no quiero escribir algoritmos para esto en javascript. Python ya tiene bibliotecas para las funciones que necesito (SciPy), pero no puedo encontrar ninguna indicación de que pueda hacer una extensión de Chrome usando Python.

¿Es esto correcto? ¿Tengo alguna otra opción?

+5

SciPy es principalmente una biblioteca nativa, por lo que la compilación cruzada no ayudará. Incluso si Chrome admitiera Python, una dependencia de SciPy limitaría la portabilidad de su extensión. – ide

Respuesta

11

No hay Python incorporado en Chrome, pero me pregunto si Pyjamas puede ayudarlo.

+0

No estoy seguro, pero vale la pena intentarlo! ¡Gracias! – Jeff

4

Aunque mencionó que no desea que sea una aplicación alojada, este es un escenario típico en el que puede hacerlo una aplicación alojada.

SciPy no es un paquete que sea fácil de implementar. Incluso si está escribiendo una aplicación instalada basada en SciPy, requiere algún esfuerzo desplegar esta dependencia. Una aplicación web puede ayudar aquí donde coloca la mayoría de las dependencias difíciles de implementar en el lado del servidor (que es algo único). Y el lado del cliente puede ser muy liviano.

+0

Probablemente la opción más realista –

0

Python Bindings para Google Chrome API podría proporcionar lo que estás buscando.

http://code.google.com/p/cefpython/

+2

Esos enlaces son para CEF, que explícitamente no es compatible con las extensiones de Chrome, por lo que definitivamente no se puede usar para hacerlos. –

4

se puede hacer una serie de extensiones de Google Chrome con Python (sin servidor) https://pythonspot.com/en/create-a-chrome-plugin-with-python/

La idea es compilar Python para Javascript (técnicamente un pre-compilador JS) usando Rapydscript. Luego incluya la secuencia de comandos generada en la extensión de Chrome. El sitio de arriba tiene un archivo zip con todas las cosas adentro.

Recomiendo usar Rapydscript en lugar de pijamas. Una secuencia de comandos de Python compilada con Rapydscript funciona como cualquier otro complemento de Chrome.

Las secuencias de comandos de pijamas no funcionan bien con Google Chrome (necesita un parámetro especial cuando se inicia Chrome o el servidor).

0

Estoy escribiendo una extensión con Flexx PyScript y me gusta mucho. Aquí hay un overview de diferentes herramientas en comparación con PyScript (no confíes en este artículo, escrito por los desarrolladores de flexx :).

Cuestiones relacionadas