SyntaxError:('未来特征unicode_literals未定义)

时间:2014-03-28 18:55:57

标签: python

我有以下python代码(helloworld.py)

from faker import Factory
class HelloWorld:

fake = None
name = None

def __init__(self):
    self.fake = Factory.create()
    self.name = ""

def getName(self):
    self.name = self.fake.name()
    return self.name    

我试图从Java访问该模块,我的Java代码如下

PythonInterpreter interpreter = new PythonInterpreter();

interpreter.exec("import sys\nsys.path.append('C:\\Python27\\Lib\\site-packages')\n" +
                "sys.path.append('C:\\Python27\\Lib\\site-packages\\helloworld')\nfrom helloworld import HelloWorld");


PyInstance wrapper = (PyInstance)interpreter.eval("instance = HelloWorld" + "(" + ")");  

PyObject result = wrapper.invoke("instance.getName()");

String realResult = (String) result.__tojava__(String.class);

但我收到了错误

SyntaxError: ('future feature unicode_literals is not defined', ('C:\\Python27\\Lib\\site-packages\\faker\\generator.py', 1, 6, ''))

其中generator.py使用该模块

generator.py
---------------

from __future__ import unicode_literals

我使用的是Python 2.7。我应该在这里尝试使用更新版本的Python吗?

请提出任何建议。

Python解释器配置了Python 2.7(下面的Eclipse快照)

Python interpreter setup in eclipse

修改

是的,从IDLE执行时,我可以从将来导入unicode_literals。

Snapshot from IDLE

感谢@Martijn Pieters

解释器实际上正在使用2.1,我可以在sys.version中看到。

现在我该如何改变它来代替使用2.7?

0 个答案:

没有答案