【发布时间】:2013-03-31 20:37:24
【问题描述】:
我想在我的 python 代码中使用 python 模块。但我认为jepp无法正确处理。
例如:
>>>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 似乎在第一行之后永远运行:没有错误消息或异常(我从 eclipse 中使用 jep.eval("script") 调用这些行),但是如果我从 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' 对象没有
属性“线性模型”
在 jep.Jep.eval(本机方法)
在 jep.Jep.eval(Jep.java:278)
...还有 2 个”
我唯一的模块工作版本是:
将 numpy 导入为 np
beta = np.array([1, 0.1, 10])
所以我需要一个解决方案来
- 使用代码:'module.submodule.function'
- 使用导入:'import module.submodule' 并使用代码:'submodule.function'
有可能吗?
我在 Ubuntu 12.04 上使用 python 2.7.2 和 jep 2.4。我从 eclipse 中调用上面的代码,我在其中设置了这些环境变量:
- LD_PRELOAD /usr/lib/libpython2.7.so
- LD_LIBRARY_PATH /usr/local/lib/python2.7/dist-packages/
我知道 jepp 有更新版本,但对我来说很难配置 2.4。太,所以如果没有必要,我不会安装更新的。 (因为这对我来说很耗时。我必须用ucs4编译一个全新的python解释器,将安装的python包从dist-packages复制到site-packages,设置环境变量等等。)
提前致谢!
【问题讨论】:
-
website 上没有适用于 Python 2.7 的 Jepp——也许这至少是问题的一部分。您可能需要从那里安装
python-2.6.4-vs7.1.msi文件以获得 Python 解释器的兼容版本。 -
感谢您的想法。我编辑了这篇文章,因为我没有提到我使用 linux (Ubuntu 12.04)。所以我使用 jep.2.4 并通过以下方式安装它:pip install jep。我不想重新安装,除非有人可以确认 jep 可以处理以下代码: - 'module.submodule.function' 或 - 使用 import: 'import module.submodule' 并使用 code: submodule.function' 所以 jepp 有能力使用这里提到的模块和子模块?因为如果不能,我不会再尝试了。
-
在放弃 Jepp 之前,请尝试直接使用它,而不是通过 eclipse。
-
不幸的是我做不到。如果我在命令行中启动'jep',我会得到:'Caused by: java.lang.ClassNotFoundException:jep.Run'。我按照这里的说明进行操作:project_site。我用'sudo pip install jep'安装了jepp并设置了两个环境变量:'LD_PRELOAD /usr/lib/libpython2.7.so''LD_LIBRARY_PATH /usr/local/lib/python2.7/dist-packages/'。
-
然后我下载了 2.4.tar 包并运行 'python setup.py install' 它设法安装,但是如果我运行 'python setup.py test',我得到 4 与相关的错误(tests.test_jdbc.TestJdbc),例如:'ERROR: test_batch (tests.test_jdbc.TestJdbc)'