如何从Java中运行带有pandas、request等依赖项的Python代码?

0 人关注

当然还有JPython,它允许在JVM中运行Python。

但是,运行有一些或许多依赖/库的Python,如 pandas requests ,是否可以做到?

是否有办法保证在JVM上运行任何Python脚本?

P.S. 在同一进程中,这样内存结构可以共享。

P.P.S Jython的版本是2.7,与Python 2.x兼容,可能没有Python 3.6以上的支持。

最新的版本是Jython 2.7.2。它于2020年3月21日发布,与Python 2.7兼容。

更为普遍的问题是 在Java中调用Python?

GraalVM Python Runtime是实验性的,但目标是Python 3.8,并支持SciPy/NumPy。 https://www.graalvm.org/reference-manual/python/

GraalVM提供了一个符合Python 3.8的运行时间。GraalVM Python运行时的一个主要目标是支持SciPy及其组成库,以及与丰富的Python生态系统中的其他数据科学和机器学习库合作。在这一点上,Python运行时可供实验和好奇的终端用户使用。

java
python
jvm
Paul Verest
Paul Verest
发布于 2021-06-03
1 个回答
Paul Verest
Paul Verest
发布于 2021-06-03
已采纳
0 人赞同

最后一个回答来自 https://stackoverflow.com/a/62082797/482717 gives full options list

https://talvi.net/a-brief-overview-of-python-java-bridges-in-2020.html -> https://github.com/pont-us/python-java-bridge-demos

由于GraalVM是最新的努力,任何旧项目都不可能成功地支持SciPy/NumPy/pandas。

2020年Pyth-Java桥的简要概述。

  • GraalVM
  • Website: https://www.graalvm.org/
    文件。 https://www.graalvm.org/docs/
    Source: https://github.com/oracle/graal
    首次发布。2019

  • Javabridge
  • Website: https://github.com/LeeKamentsky/python-javabridge
    文件。 https://pythonhosted.org/javabridge/
    Source: https://github.com/LeeKamentsky/python-javabridge
    PyPI: https://pypi.org/project/javabridge/
    首次发布。2014

    Website: https://github.com/ninia/jep
    文件。 https://github.com/ninia/jep/wiki
    Source: https://github.com/ninia/jep
    PyPI: https://pypi.org/project/jep/
    首次发布。2015

    Website: https://github.com/bcdev/jpy/
    文件。 https://jpy.readthedocs.io/en/latest/
    Source: https://github.com/bcdev/jpy
    PyPI: https://pypi.org/project/jpy/
    首次发布。2014

  • JPype
  • Website: https://github.com/jpype-project/jpype/
    文件。 https://jpype.readthedocs.io/en/latest/
    Source: https://github.com/jpype-project/jpype/
    PyPI: https://pypi.org/project/JPype1/
    首次发布。2005

  • Jython
  • Website: https://www.jython.org/
    文件。 https://www.jython.org/
    Source: https://github.com/jythontools/jython
    发布会上宣布。 http://fwierzbicki.blogspot.com/
    首次发布。1997年(作为JPython)。

    Website: https://www.py4j.org/
    文件。 https://www.py4j.org/contents.html
    Source: https://github.com/bartdag/py4j
    PyPI: https://pypi.org/project/py4j/
    首次发布。2009

  • https://cwiki.apache.org/confluence/display/SPARK/PySpark+Internals
  • https://github.com/invesdwin/invesdwin-context-python
  • PyJNIus
  • Website: https://github.com/kivy/pyjnius
    文件。 https://pyjnius.readthedocs.io/en/stable/
    Source: https://github.com/kivy/pyjnius
    PyPI: https://pypi.org/project/pyjnius/
    首次发布。2012