我有一個用Python編寫的原型,需要導入到Java中才能投入生產。 Python 2.7.10已經使用miniconda
安裝。原型使用第三方庫nltk
,我使用pip
安裝。jython找不到第三方python軟件包(使用miniconda安裝python)
要想從頭開始重寫代碼,至少在開始時,我想先嚐試使用jython
直接從Java調用原型代碼。
當我嘗試執行像
java -jar jython-standalone-2.7.0.jar myPrototype.py
命令我得到
Traceback (most recent call last):
File "myPrototype.py", line 4, in <module>
from nltk import AlignedSent
ImportError: No module named nltk
當我運行python myPrototype.py
它工作正常。
有沒有辦法配置我的jython
安裝,以便它可以找到我已經添加到我的python
安裝的所有第三方包?我意識到其中的一些可能不會在jython
中運行,但至少我想訪問那些做的。
1.我很可能在python =)2中生成產品代碼。完全沒有線索你在做什麼。你能否說明你寫的原型是什麼?什麼目的? 'myPrototype.py'中有什麼?並非所有類型和類對象都可以在jython中無縫地工作。我的建議是讓python做python的東西,讓java做java的東西。使用輸入/輸出文件(JSON/XML /明文)或命令行界面來連接它們。 – alvas
@alvas 1.不確定你的意思。我們已經開發完全用python編寫的產品質量系統。 2.原型使用'nltk'庫進行文本處理。它具體做什麼並不重要。問題是關於配置'jython'使它能夠運行任何使用'pip'添加到'python' install doe的使用'miniconda'的任何第三方軟件包。或者至少那些與'jython'兼容的軟件包。 –
我不認爲'jython'能夠處理所有使用'conda'的庫。一旦圖書館依賴'numpy'或'scipy',你很可能會遇到問題。如果您的項目的主要語言是Java,那麼我認爲最好的解決方案不是'jython',而是像REST I/O管道或像JSON/XML這樣的數據傳輸標準。 – alvas