无法在JyNi alpha 4

时间:2018-03-28 11:52:03

标签: python numpy jyni

我是python和jython的新手我想在我的jython程序中导入numpy但是每当我导入它时都会显示以下错误:

Traceback (most recent call last):
File "/home/phpdev/workspace/FirstProgram/testone.py", line 16, in <module>
import numpy
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 153, in <module>
from . import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 15, in <module>
from . import defchararray as char
File "/usr/lib/python2.7/dist-packages/numpy/core/defchararray.py", line 1668, in <module>
class chararray(ndarray):
TypeError: Error when calling the metaclass bases
'getset_descriptor' object is not callable

我的代码是:

import os
import sys
print "hi"
print sys.path
print "hello "
import numpy
print "last"

我正在使用jython 2.7.1:

JyNI : alpha 5
numpy : 1.13.0

2 个答案:

答案 0 :(得分:0)

虽然JyNI的主要目标是支持Numpi,但它无法做到(现在还没有)。这是因为它仍处于alpha阶段。

我发现的最简单的替代方法是使用Java数值库。 Matrix Tool Kits Java

答案 1 :(得分:0)

您要执行的操作应该可行,因为JyNI alpha 4、5和更高版本支持NumPy 12和13。

Jython / JyNI最有可能找到错误的NumPy安装。 我怀疑您有多个并行的numpy安装,而JyNI则选择了错误的安装。

需要使用平台上的其他信息,类路径和pythonpath(w.r.t。Jython)来说明实际原因。 在

中讨论了与此问题类似的一些情况。

可能有一些对您有用的提示。否则,最好在issue trackerJyNI's support上对此进行讨论。

注意:

  • 蟒蛇或树冠上的NumPy未经测试,可能会与预建的JyNI产生ABI问题。
  • 当前的JyNI不支持
  • NumPy 14和15(即JyNI alpha 5)。参见https://github.com/Stewori/JyNI/issues/22
  • NumPy 13.2已损坏(某些CPython版本也是如此),并已由NumPy开发人员正式撤回。 NumPy 13.3可以再次与JyNI alpha 4和5一起正常工作。