2011-09-09 9 views
5

Python kodunun bir web önyüzüne ve tüketici arka planına bölünmesi var. Arka uç, bazı Java kütüphaneleriyle birlikte çalışabilmesi için Jython altında çalışmalıdır, ancak Jetty'den Jetty'de çalıştırdığımız bellek sorunları nedeniyle web sunucusunu cpython/mod_wsgi içinde çalıştırmak istiyoruz.virtualenv içinde bir arada bulunan Python/jython

Gelişim için virtualenv kullanıyoruz ve şu anda iki sanal dizin, biri cpython ve jython için bir tane kullanabiliyoruz. Benim sorum, her iki tercümanın bir sanalenvde mutlu bir şekilde bir arada bulunup bulunamayacağıdır (öncelikle kurulu kütüphaneleri iki kez güncellemek zorunda kalmadan kaydetmek, aynı zamanda meraktan).

virtualenv -p python environ 
virtualenv -p jython environ 

ben hem tercümanlar çalıştırabilir ve bunuenvirom/Lib/site paketleri ve envirom/lib/python/siteyi-paketlerini sembolik bir link olabilir: Her iki tercüman ile aynı ortamı başlatıldı ettik İkisi de aynı yere bakıyorlar. C uzantıları/optimizasyonlarına dayanan bir kütüphane olmadığı sürece, neden her iki tercümanda da işe yaramayacağını göremiyorum. Hiç kimse katılmıyorum ya da bakmak için başka şeyler var mı?

cevap

0

Neden ikisinin birlikte bulunamaması gerektiğini görmüyorum - tamamen farklı altyapı kullanıyorlar, yalnızca .py dosyaları paylaşıyorlar. Jython bir java programıdır, Python C'dir; Jython, $ class dosyalarına Python'dan .pyc; vb.

Dikkat edilmesi gereken tek şey (Jython'daki C-tabanlı modüllerden kaçınmak dışında) PYTHONPATH ve JYTHONPATH'ı aynı değere ayarlıyor (Jython PYTHONPATH kullanmıyor).