2011-09-09 15 views
5

Ho codice Python divisa in un frontend web e back-end dei consumatori. Il backend ha per l'esecuzione in Jython per l'interoperabilità con alcune librerie Java, ma vogliamo eseguire il server web in CPython/mod_wsgi a causa di problemi di memoria che abbiamo avuto in esecuzione in Jython attraverso Jetty.Python/jython coesistenti in virtualenv

Usiamo virtualenv per lo sviluppo, e ho attualmente ottenuto due virtualenv directory, una per CPython e uno per Jython. La mia domanda è se entrambi gli interpreti possono tranquillamente coesistere in uno virtualenv (soprattutto per evitare di dover aggiornare librerie installate due volte, ma anche dalla curiosità). Ho inizializzato lo stesso ambiente con entrambe le interpreti:

virtualenv -p python environ 
virtualenv -p jython environ 

posso correre entrambe le interpreti, e posso link simbolico environ/lib/site-packages e environ/lib/python/site-packages così che entrambi guardano nello stesso posto. Finché non ci sono le librerie basandosi sulle estensioni C/ottimizzazioni non riesco a vedere il motivo per cui non avrebbero funzionato in entrambi gli interpreti. Chiunque non è d'accordo o ha altre cose da guardare?

risposta

0

non vedo il motivo per cui i due non dovrebbe essere in grado di coesistere - usano l'infrastruttura completamente diverso, la condivisione di file solo .py. Jython è un programma java, Python è C; Jython compila in file di classe $, da Python a .pyc; ecc.

L'unica cosa a cui prestare attenzione (a parte evitare i moduli basati su C in Jython come dici tu) sta impostando PYTHONPATH e JYTHONPATH sullo stesso valore (Jython non usa PYTHONPATH).