Naf*_*Kay 3 python jython python-2.7
我正在尝试在Java中的Jython中做一些非常简单的事情.我的Python路径,以及exension,我的Jython路径,设置如下:
$ python -c "import sys ; ':'.join(sys.path)"
:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/usr/lib/python2.7/dist-packages/gst-0.10:/usr/lib/python2.7/dist-packages/gtk-2.0:/usr/lib/pymodules/python2.7:/usr/lib/python2.7/dist-packages/ubuntu-sso-client:/usr/lib/python2.7/dist-packages/ubuntuone-client:/usr/lib/python2.7/dist-packages/ubuntuone-control-panel:/usr/lib/python2.7/dist-packages/ubuntuone-couch:/usr/lib/python2.7/dist-packages/ubuntuone-installer:/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol:/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode
Run Code Online (Sandbox Code Playgroud)
(这里可以找到更容易阅读的清单.)
我通过定义来设置我的Jython路径-Dpython.path=":/usr/lib/python2.7:..."
,并且它运行得相当好.
然而,每当我尝试做任何有意义的事情时,我都会遇到问题,例如导入os
模块:
>>> import os
Exception in thread "main" Traceback (most recent call last):
File "<iostream>", line 2, in <module>
SyntaxError: ('no viable alternative at input \'""\'', ('/usr/lib/python2.7/os.py', 754, 18, ' bs = b""\n'))
Run Code Online (Sandbox Code Playgroud)
这里出了什么问题?Jython与Python 2.7不兼容吗?我能做些什么让事情发挥作用?
你不能混合Python版本和实现.您使用的Cpython是2.7,Jython是2.5,因此即使您为Cpython 2.5和2.7执行此操作,它们也可以使用相同的路径
您看到的实际错误是因为jython加载python C库并获取调用jython没有的C代码的代码.
你可以共享相同版本的纯python代码,例如python 2.5和jython 2.5,但不太可能管理任何其他混合.