使用jython 2.7b3设置virtualenv时出错

时间:2014-12-15 15:39:57

标签: virtualenv jython jython-2.7

我尝试使用jython 2.7b3设置虚拟环境。我正在运行Mac OS 10.8.5,以防相关。

我按照建议使用jython和easy_install安装了virtualenv(1.11.6):http://www.jython.org/jythonbook/en/1.0/appendixA.html

但是当我跑步时:

$ /usr/local/jython/jython2.7b3/bin/virtualenv jython-venv

我得到了输出:

Cannot find file /usr/local/jython/jython2.7b3/Include (bad symlink)
New jython executable in jython-venv/bin/jython
ERROR: The executable jython-venv/bin/jython is not functioning
ERROR: It thinks sys.prefix is u'/usr/local/jython/jython2.7b3' (should be  u'/..../jython-venv')
ERROR: virtualenv is not compatible with this system or executable

(其中/..../jython-venv代表我创建的新虚拟环境的路径。)

当我运行jython-venv/bin/jython时,我得到一个正常的jython提示符:

$ jython-venv/bin/jython
Jython 2.7b3 (default:e81256215fb0, Aug 4 2014, 02:39:51) 
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_51
Type "help", "copyright", "credits" or "license" for more information.
>>> 

我错过了什么?为什么virtualenv认为可执行文件不起作用,即使它本身似乎运行良好?这只是告诉它正确sys.prefix的问题吗?如果是这样我怎么能这样做?

非常感谢您的帮助...

1 个答案:

答案 0 :(得分:2)

发现此处描述的问题和解决方案: http://seletz.github.io/blog/2012/04/06/jython-classpath-virtualenv/

显然,virtualenv中有一个bug,在设置JYTHON_HOME时导致此问题,这是我的问题。

一旦它与unset JYTHON_HOME未设置,virtualenv就会按预期工作(几乎)。

$ echo $JYTHON_HOME
/usr/local/jython/jython2.7b3
$ unset JYTHON_HOME
$ echo $JYTHON_HOME

我说“几乎”正如所料,因为它仍然存在安装pip的问题。幸运的是,这个问题及其解决方案在这里描述:https://gist.github.com/skyl/ea2ab1c62a547e381411