Python / Jython, сосуществующий в virtualenv - PullRequest
5 голосов
/ 09 сентября 2011

У меня есть код Python, разделенный на веб-интерфейс и потребительский бэкэнд.Бэкэнд должен работать под Jython для совместимости с некоторыми библиотеками Java, но мы хотим запустить веб-сервер в cpython / mod_wsgi из-за проблем с памятью, которые у нас были в Jython через Jetty.

Мы используем virtualenv для разработки, и в настоящее время у меня есть две директории virtualenv, одна для cpython и одна для jython.Мой вопрос заключается в том, могут ли оба переводчика счастливо сосуществовать в одном virtualenv (прежде всего, чтобы избавить от необходимости обновлять установленные библиотеки дважды, но также и из любопытства).Я инициализировал одну и ту же среду с обоими интерпретаторами:

virtualenv -p python environ
virtualenv -p jython environ

Я могу запустить оба интерпретатора и могу использовать символическую ссылку environment / Lib / site-packages и environment / lib/ python / site-packages , чтобы они оба смотрели в одно и то же место.Пока нет библиотек, полагающихся на расширения / оптимизации C, я не могу понять, почему они не будут работать в обоих интерпретаторах.Кто-то не согласен или у вас есть еще вопросы?

1 Ответ

0 голосов
/ 05 января 2012

Я не понимаю, почему эти двое не могут сосуществовать - они используют совершенно другую инфраструктуру, разделяя только файлы .py. Jython - это Java-программа, Python - C; Jython компилируется в файлы $ class, Python в .pyc; и т. д.

Единственное, на что нужно обращать внимание (помимо того, что вы избегаете модулей на основе C в Jython, как вы говорите), устанавливает PYTHONPATH и JYTHONPATH в одно и то же значение (Jython не использует PYTHONPATH).

...