2011-09-09 22 views
5

Tengo el código de Python dividido en un frontend web y backend de consumidor. El backend tiene que ejecutarse bajo Jython para la interoperabilidad con algunas bibliotecas Java, pero queremos ejecutar el servidor web en cpython/mod_wsgi debido a problemas de memoria que hemos tenido al ejecutarlo en Jython a través de Jetty.Python/jython coexistiendo en virtualenv

Usamos virtualenv para desarrollo, y actualmente tengo dos directorios virtualenv, uno para cpython y otro para jython. Mi pregunta es si ambos intérpretes pueden coexistir felizmente en uno virtualenv (principalmente para evitar tener que actualizar dos veces las bibliotecas instaladas, pero también por curiosidad). He inicializado el mismo entorno con ambos intérpretes:

virtualenv -p python environ 
virtualenv -p jython environ 

puedo correr ambos intérpretes, y yo puedo enlazar simbólicamente/site-packages/ y Medio ambiente// Python/site-lib paquetes Environ Lib por lo que ambos miran al mismo lugar. Siempre que no haya bibliotecas que confíen en las extensiones/optimizaciones C, no veo por qué no funcionarían en ambos intérpretes. ¿Alguien está en desacuerdo o tiene más cosas que cuidar?

Respuesta

0

No veo por qué los dos no deberían poder coexistir: usan una infraestructura completamente diferente, compartiendo solo archivos .py. Jython es un programa Java, Python es C; Jython compila archivos de $ class, Python a .pyc; etc.

Lo único que debe tener en cuenta (aparte de evitar los módulos basados ​​en C en Jython como usted dice) es establecer PYTHONPATH y JYTHONPATH con el mismo valor (Jython no utiliza PYTHONPATH).