我想在我的python代码中使用python模块。但我认为杰普无法妥善处理它。
例如:
>>>from sklearn import linear_model
>>>clf = linear_model.LinearRegression()
>>>clf.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
>>>LinearRegression(copy_X=True, fit_intercept=True, normalize=False)
>>>clf.coef_
>>>array([ 0.5, 0.5])
Jepp似乎在第一行之后永远运行:没有错误消息或异常(我用jep.eval(“script”)从eclipse中调用这些行),但是如果我从python解释器中手动运行它,代码就可以了”。
如果我以这种方式使用它,它也不起作用:
>>>import sklearn
>>>clf = sklearn.linear_model.LinearRegression()
>>>...same as above...
在这种情况下,我收到以下错误消息:“SEVERE:null
jep.JepException:jep.JepException ::'module'对象有
没有属性'linear_model'
在jep.Jep.eval(Jep.java:294)
在Main.executeScript(Main.java:72)
在Main.main(Main.java:36)
引起:jep.JepException :: 'module'对象没有
属性'linear_model'
在jep.Jep.eval(原生方法)
在jep.Jep.eval(Jep.java:278)
... 2更多“
我唯一使用模块的工作版本是:
将numpy导入为np
beta = np.array([1,0.1,10])
所以我需要一个解决方案才能
有可能吗?
我在Ubuntu 12.04上使用python 2.7.2和jep 2.4。我从eclipse调用上面的代码,在那里我设置了这些环境变量:
我知道有一个更新版本的jepp但对我来说很难配置2.4。如果没必要,我也不会安装更新的。 (因为这对我来说非常耗时。我必须使用ucs4编译一个全新的python解释器,将已安装的python包从dist-packages复制到site-packages,设置环境变量等等。)
提前致谢!
答案 0 :(得分:1)
还有另一个名为pyro4的sourceforge项目。它可以处理python模块,如:numpy,sklearn ......也许它甚至更好,因为它目前正在开发中。 (最后一个jepp版本于2010年发布)
答案 1 :(得分:1)
查看https://github.com/mrj0/jep,这就是JEP现在的位置。它似乎最近更新了。根据网站,它现在适用于Python版本> = 2.6。
答案 2 :(得分:1)
我不能代表早期版本的JEP,但我能够从JEP 3.7.1命令行运行您的脚本。它使用Python 3.6.5。我也可以在Java 8中运行等价物。
C:> jep ...... .... python \ python36 \ Lib \ site-packages \ jep \ console.py“
No readline available. History will not be available.
For Windows use pyreadline and get it from the official git
repo on github:
https://github.com/pyreadline/pyreadline
Do NOT use the version on pypi.python.org, and therefore
Do NOT use the version installed by pip. It is out of date
and doesn't work with Jep!
来自sklearn的 >>>
导入linear_model< - JEP需要几秒钟才能导入进行处理
>>>
clf = linear_model.LinearRegression()
>>>
clf.fit([[0,0],[1,1],[2,2]],[0,1,2])
LinearRegression(copy_X = True,fit_intercept = True,n_jobs = 1,normalize = False)< - JEP返回
>>>
clf.fit([[0,0],[1,1],[2,2]],[0,1,2])
LinearRegression(copy_X = True,fit_intercept = True,n_jobs = 1,normalize = False)< - JEP返回
>>>
clf.coef_
数组([0.5,0.5])< - JEP返回
>>>
答案 3 :(得分:0)
答案 4 :(得分:-1)
Balazs,它将确实导入3rd-party库。一个人可以做info
语句。