因此,我正在研究各種 Java 包,它們允許您通過 Java 運行 python 代碼。Jython 不處理相當于 python 3.6 的代碼。所以基本上,我有用 python 3.6 編寫的代碼并且需要這樣。我需要能夠在沒有 python 解釋器的情況下通過 Java 使用該 python 代碼。有這樣的包嗎?(請注意,我不會更改 python 代碼,因為它是一個框架,并且傳統上在 python 中使用。我有一個 python 框架,當然,傳統上可以通過 python 代碼使用,對于 python 3.6。相反,我想成為通過 Java 8 代碼使用它?,F在我研究了 Jython,但它不處理 3.6 或 3.x。我不會從框架中更改 python 代碼。此外,Java 包應該能夠運行 python沒有解釋器的代碼。有這樣的事嗎?Py4j 需要一個 python 解釋器。
3 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
GraalVM將 Python 代碼編譯為 Java 字節碼并使用graalpython在 JVM 上運行它,但需要注意的是:
這個 Python 實現目前的目標是與 Python 3.7 兼容,但距離那里還有很長的路要走,而且很可能任何需要任何導入的 Python 程序都會遇到不支持的東西。此時,Python 實現可供實驗和好奇的最終用戶使用。

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
由于您不會更改它,您可以將 Python 轉換為可執行文件并使用 Java 將其作為新進程生成。
ProcessBuilder pb = new ProcessBuilder("C:\\...\\file.exe", command arguments, ..., ...); pb.start();
作為最簡單的解決方案,您可以使用 File I/O 在 Python 和 Java 之間進行通信。
添加回答
舉報
0/150
提交
取消