Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/jython在virtualenv中共存_Python_Jython_Virtualenv - Fatal编程技术网

Python/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中愉快地共存(主要是为了避免两次更新已安装的库,但也是出于好奇)。我已经用两个解释器初

我将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/