traducidos son qué que programacion los lenguajes lenguaje interpretados interpretado compilados compilado python ironpython jython cpython

qué - ¿Cuáles son algunas estrategias para escribir código python que funciona en CPython, Jython y IronPython?



que es jython (6)

Al tratar de apuntar a dos de estos entornos al mismo tiempo, puedo decir con seguridad que si tiene que usar una base de datos, etc., tendrá que escribir un código único para ese entorno. ¿Tienes una excelente manera de manejar esta situación?


@Daren Thomas: Estoy de acuerdo, pero debe usar el módulo de plataforma para determinar qué intérprete está ejecutando.


Si encuentra que necesita escribir un código único para un entorno, use pitones

import mymodule_jython as mymodule import mymodule_cpython as mymodule

tiene esto en un módulo simple ('''' module_importer ''''?) y escribe tu código así:

from module_importer import mymodule

De esta forma, todo lo que necesita hacer es alterar module_importer.py por plataforma.


Escribo el código para CPython y IronPython, pero el consejo también debería funcionar para Jython.

Básicamente, escribo todo el código específico de la plataforma en módulos / paquetes separados y luego importo el apropiado según la plataforma en la que me estoy ejecutando. (ver el comentario de cdleary arriba)

Esto es especialmente importante cuando se trata de las diferencias entre las implementaciones SQLite y si está implementando cualquier código GUI.



Lo # 1 de IMO: concéntrese en la seguridad de los hilos . El GIL de CPython hace que escribir código seguro para el hilo sea fácil porque solo un hilo puede acceder al intérprete a la vez. IronPython y Jython son un poco menos de mano.


Hay dos problemas principales en juego aquí ...

En primer lugar, que yo sepa, solo CPython tiene RAII: debe cerrar sus propios recursos en Jython, Ironpython, etc.

Y en segundo lugar, como se ha mencionado, es seguridad hilo.