我试图在Java中使用Python程序。我的Python程序如下:
import CostCalculatorType
import os
from Evaluate.read_input_data import *
class CostCalculator(CostCalculatorType, object):
def __init__(self):
print 'Initializing'
pass
def calculateCost(self, chromosome):
inputData = ReadInputData(chromosome, 'input_data.txt')
return inputData我是从Java接口调用它的。我使用JyNI.org上指定的以下命令:
java -cp /home/ch/jython.jar:/home/ch/JyNI.jar org.python.util.jython CostCalculator.py
java Main我得到以下错误:
File "/home/ch/CostCalculator.py", line 18, in calculateCost
inputData = ReadInputData(chromosome, 'input_data.txt')
File "/usr/lib/python2.6/site-packages/Evaluate/read_input_data.py", line 21, in __init__
self.info = infoClass(0, [], [], 0.02)
File "/usr/lib/python2.6/site-packages/Evaluate/infoClass.py", line 7, in __init__
import numpy
ImportError: No module named numpyNumPy完全可以用JyNI导入吗?
发布于 2015-06-08 15:03:32
这是对How to setup numpy in jython的复制。为了方便起见,我将在这里重复我的回答:
JyNI确实将NumPy支持作为它的主要目标,但只要它仍然处于alpha状态,它还不能实现。但是,直到它足够成熟,您可以通过以下方式使用NumPy
或者,您也可以使用Java数值库进行计算,例如:
两者都是Java-lib,它们在blas或lapack (即相同的后端NumPy使用)的支持下进行数值处理,因此性能应该大致相当于NumPy的性能。但是,它们不像NumPy那样具有很好的多数组实现。
如果您需要间接地使用NumPy来实现其他框架的依赖关系,这些解决方案不会立即完成。如果依赖项只是边际的,您可以根据一个命名的项目重写/替换相应的调用。否则你就得等JyNI..。
如果您可以以这种方式使某些框架在Jython上运行,请考虑将您的工作公开,最好是作为框架的一个分支。
https://stackoverflow.com/questions/30654683
复制相似问题