在Eclipse在Java里面調用Python腳本的方法

由于項目中需要用到Java調用Python的腳本,來實現一些功能,就對jython做了一些了解,通過jython可以實現java對python腳本的調用。Java調用Python開發環境配置(Eclipse+Jython+PyDev)

1、Jython是什么

Java可以使用Jython庫來調用Python庫。Jython是一個Java平臺上的Python解釋器,它可以讓Java程序員使用Python模塊和庫。我們可以在Java中使用Jython庫來調用Python庫,實現Java和Python之間的互操作。

在Java中,可以通過調用Python解釋器來使用Python代碼。這可以通過Java的ProcessBuilder類來實現。ProcessBuilder類允許Java應用程序創建和操作外部進程。以下是一個使用ProcessBuilder在Java中執行Python腳本的示例。

Jython是一種在Java虛擬機(JVM)上運行的Python實現。它將Python腳本語言與Java平臺的功能相結合,使開發人員能夠在Java環境中使用Python編寫和執行代碼。
Jython允許開發人員利用Python的簡潔和易用性,在Java應用程序中嵌入和擴展Python邏輯。因為它運行在JVM上,所以可以與Java代碼無縫集成,并使用Java類庫和框架。開發人員可以輕松地直接調用Java的API,以及使用Java的工具和生態系統。
使用Jython,開發人員可以利用Python強大的表達能力、動態類型、腳本編寫的便利性,以及Java平臺的穩定性、豐富的庫和生態系統。Jython不僅可以用于快速的腳本編寫和自動化任務,也可以在大型Java項目中作為開發工具和擴展語言。
總而言之,Jython是將Python與Java集成的工具,通過在Java虛擬機上運行Python代碼,為開發人員提供了在Java環境中使用Python的能力。

1.1 下載Jython

Jython官網地址
在這里插入圖片描述
下載好的jython如下圖
在這里插入圖片描述

1.2 安裝jython軟件

在這里插入圖片描述

java -jar jython-installer-2.7.3.jar

在這里插入圖片描述
然后回車即可彈出安裝界面,按步驟安裝即可,比較簡單。
在這里插入圖片描述
安裝地址在F盤下的Jython2.7.3文件夾下
在這里插入圖片描述

1.3 配置環境變量(3部分)

在這里插入圖片描述
在這里插入圖片描述

%Jython_HOME%\lib

在這里插入圖片描述

%Jython_HOME%\bin

1.4 在命令行輸入 jython,安裝成功

在這里插入圖片描述

2、Eclipse中下載PyDev插件(eclipse下用來開發python的插件)

這一部分是在Eclipse中能夠寫python代碼

2.1 pydev插件下載與安裝

啟動Eclipse, 點擊Help->Eclipse Marketplace:
在這里插入圖片描述
在這里插入圖片描述

2.2 配置Eclipse環境

在這里插入圖片描述
在Jython Interpreter中導入剛剛jython軟件中的jython.jar
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3、創建Python項目

在這里插入圖片描述
在這里插入圖片描述
在src上右鍵—–>New—–>PyDev Package,在彈出的對話框中Name輸入”Test1″然后點擊”Finish”。可以看到Eclipse自動為我們在Test1包下創建了一個”init.py”的文件。我們在這個腳本文件中輸入我們的腳本。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

4、Java調用Python

在這里插入圖片描述
在這里插入圖片描述
發現報錯,原因是沒有導入jython.jar
在這里插入圖片描述
在這里插入圖片描述
存在的問題:發現點擊運行按鈕后,代碼運行結果慢。這種方法用的不多、也不推薦大家使用

之前一直導入python的第三方的包失敗,如numpy包
在這里插入圖片描述
在這里插入圖片描述

如何在Anaconda中安裝numpy庫

Anaconda下載地址:https://www.anaconda.com

1.點擊開始菜單,打開Anaconda Prompt;

在這里插入圖片描述

2.輸入conda activate python3,回車;輸入conda install numpy(安裝numpy包),回車。

conda activate python3
conda install numpy

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34741.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34741.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34741.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

你不得不懂的IT知識-《敏捷項目管理》

國林哥在IBM時,幾乎每天都會收到關于“敏捷”相關的郵件,公司鼓勵我們去學習郵件里的知識,參加敏捷相關的認證和培訓。剛開始我和大多數同事一樣不管不顧,后來隨著PBC里要求加上成長目標,比如要獲得一個認證&#xff0…

React使用antd的圖片預覽組件,點擊哪個圖片就預覽哪個的設置

使用了官方推薦的相冊模式的預覽,但是點擊預覽之后,每次都是從圖片列表的第一張開始預覽,而不是點擊哪張就從哪張開始預覽: 所以這里我就封裝了一下,對初始化預覽的列表進行了邏輯處理: 當點擊開始預覽的…

加載并繪制時間域內的心電圖信號,并實施Q因子為1的陷波濾波器以去除50 Hz頻率研究(Matlab代碼實現)

💥💥💞💞歡迎來到本博客????💥💥 🏆博主優勢:🌞🌞🌞博客內容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ??座右銘&a…

一篇打通,pytest自動化測試框架詳細,從0到1精通實戰(一)

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 pytest單元測試框…

redis學習筆記(七)

文章目錄 zset(有序集合)(1)添加成員(2)獲取score在指定區間的所有成員(3)獲取集合長度(4)獲取指定成員的權重值(5)獲取指定成員在集合…

2308C++簡單異步改造網絡庫

用簡單異步可以輕松改造同步網絡庫從而獲得大幅性能提升,用它改造異步回調網絡庫可以讓我們以同步方式寫代碼,讓代碼更簡潔,可讀性更好,還能避免回調地獄的問題. 本文通過兩個例子分別來介紹如何用簡單異步改造基于asio的同步網絡庫和異步回調網絡庫. 示例依賴了獨立版的asio(…

JavaWeb_總體介紹

文章目錄 1.總括2.JavaWeb項目架構 1.總括 2.JavaWeb項目架構

request.post,json和data

參考 https://zhuanlan.zhihu.com/p/140372568 https://zhuanlan.zhihu.com/p/140372568 介紹 這兩條請求語句使用了不同的參數傳遞方式,有以下區別:1. requests.post(urlhttp://xx.8.84.xx:8000/inference, jsondata)這個語句使用了 json 參數&#…

js設置css變量控制頁面一行展示指定個數的元素

前置知識: CSS變量之var()函數的應用——動態修改樣式 & root的使用 flex相關知識 場景: 動態設置給父元素內子元素設置每行排列幾個 通過 document.body.style.setProperty(--itemNum, 5)設置樣式變量,然后通過給父元素設置display: f…

RocketMQ發送消息失敗:error CODE: 14 DESC: service not available now, maybe disk full

在執行業務時,發現MQ控制臺沒有查詢到消息,在日志中發現消息發送失敗,報錯error CODE: 14 DESC: service not available now, maybe disk full 分析報錯應該是磁盤空間不足,導致broker不能進行正常的消息存儲刷盤,去查…

MySQL 窗口函數是什么,有這么好用

先看這段像天書一樣的 SQL ,看著就頭疼。 SELECTs1.name,s1.subject,s1.score,sub.avg_score AS average_score_per_subject,(SELECT COUNT(DISTINCT s2.score) 1 FROM scores s2 WHERE s2.score > s1.score) AS score_rank FROM scores s1 JOIN (SELECT subject, AVG(sco…

Android 13 MTK平臺添加自定義按鍵,以及CTS問題解決

添加自定義按鍵流程 一般來說上層添加以下幾處修改 驅動層的鍵值上報,讓驅動處理好即可 frameworks / base/core/java/android/view/KeyEvent.java public static final int KEYCODE_DEMO_APP_4 = 304;/** add by songhui for fingerprint Key code */+ public static fina…

IntelliJ IDEA Bookmark使用

1 增加 右鍵行號欄 2 查看 從favorite這里查看 參考IntelliJ IDEA 小技巧:Bookmark(書簽)的使用_bookmark idea 使用_大唐冠軍侯的博客-CSDN博客

neo4j的CQL命令實例演示

天行健,君子以自強不息;地勢坤,君子以厚德載物。 每個人都有惰性,但不斷學習是好好生活的根本,共勉! 文章均為學習整理筆記,分享記錄為主,如有錯誤請指正,共同學習進步。…

07-2_Qt 5.9 C++開發指南_二進制文件讀寫(stm和dat格式)

文章目錄 1. 實例功能概述2. Qt預定義編碼文件的讀寫2.1 保存為stm文件2.2 stm文件格式2.3 讀取stm文件 3. 標準編碼文件的讀寫3.1 保存為dat文件3.2 dat文件格式3.3 讀取dat文件 4. 框架及源碼4.1 可視化UI設計4.2 mainwindow.cpp 1. 實例功能概述 除了文本文件之外&#xff…

pve和openwrt以及我的電腦中網絡的關系和互通組網

情況1 一臺主機 有4個口,分別eth0,eth1,eth2,eth3 pve有管理口 這個情況下 ,沒有openwrt 直接電腦和pve管理口連在一起就能進pve管理界面 情況2 假設pve 的管理口味eth0 openwrt中橋接的是eth0 eth1 eth2 那么電腦連接eth3或者pve管理口設置eth3&#xf…

【C#】設置有線網卡IP地址,子網掩碼,網關,DNS

方法 public partial class ComputerInfo{/// <summary>/// 設置IP地址&#xff0c;子網掩碼&#xff0c;網關&#xff0c;DNS/// </summary>public static List<NetworkAdapterInfo> SetIpAddressSubMaskDnsGeteway(string ipAddress, string subMask, stri…

MySQL庫的操作

文章目錄 MySQL庫的操作1. 創建數據庫2. 字符集和校驗規則(1) 查看系統默認字符集以及校驗規則(2) 查看數據庫支持的字符集和校驗規則(3) 案例(4) 校驗規則對數據庫的影響 3. 查看數據庫4. 修改數據庫5. 刪除數據庫6. 數據庫的備份和恢復(1) 備份(2) 還原 7. 查看連接情況 MySQ…

在 Windows 中恢復數據的 5 種方法

發生數據丟失的原因有多種。無論是因為文件被意外刪除、文件系統或操作系統損壞&#xff0c;還是由于軟件或硬件級別的存儲故障&#xff0c;數據都會在您最意想不到的時候丟失。今天我們重點介紹五種數據恢復方法&#xff0c;以應對意外情況的發生。 1.從另一臺機器啟動硬盤 如…

分享一組天氣組件

先看效果&#xff1a; CSS部分代碼&#xff08;查看更多&#xff09;&#xff1a; <style>:root {--bg-color: #E9F5FA;--day-text-color: #4DB0D3;/* 多云 */--cloudy-background: #4DB0D3;--cloudy-temperature: #E6DF95;--cloudy-content: #D3EBF4;/* 晴 */--sunny-b…