Python/jython在virtualenv中共存
我将Python代码分为web前端和用户后端。后端必须在Jython下运行,以实现与某些Java库的互操作性,但我们希望在cpython/mod_wsgi中运行Web服务器,因为内存问题,我们已经通过Jetty在Jython中运行了它 我们使用virtualenv进行开发,目前我有两个virtualenv目录,一个用于cpython,一个用于jython。我的问题是这两个解释器是否可以在一个virtualenv中愉快地共存(主要是为了避免两次更新已安装的库,但也是出于好奇)。我已经用两个解释器初始化了相同的环境:Python/jython在virtualenv中共存,python,jython,virtualenv,Python,Jython,Virtualenv,我将Python代码分为web前端和用户后端。后端必须在Jython下运行,以实现与某些Java库的互操作性,但我们希望在cpython/mod_wsgi中运行Web服务器,因为内存问题,我们已经通过Jetty在Jython中运行了它 我们使用virtualenv进行开发,目前我有两个virtualenv目录,一个用于cpython,一个用于jython。我的问题是这两个解释器是否可以在一个virtualenv中愉快地共存(主要是为了避免两次更新已安装的库,但也是出于好奇)。我已经用两个解释器初
virtualenv -p python environ
virtualenv -p jython environ
我可以运行这两个解释器,并且我可以将environ/Lib/site包和environ/Lib/python/site包进行符号链接,以便它们都位于同一位置。只要没有依赖于C扩展/优化的库,我就不明白它们为什么不能在两种解释器中都工作。有人不同意或者还有什么需要注意的吗?我不明白为什么两者不能共存——它们使用完全不同的基础结构,只共享.py文件。Jython是一个java程序,Python是C语言;Jython编译成$class文件,Python编译成.pyc;等等
唯一需要注意的是(除了你所说的避免Jython中基于C的模块之外)将PYTHONPATH和JYTHONPATH设置为相同的值(Jython不使用PYTHONPATH)。在许多情况下,Jython pip优先于pyton pip,因为它在路径的开头添加了
/opt/Jython/bin/
。