Java調用Python和安裝部署JAVA、python在windows server 2008r2系統(tǒng)

一、整理安裝需要文件

  1. JDK運行安裝包
  2. Python安裝環(huán)境包(包括所用到的庫文件)
    不一定要指定版本
在這里插入圖片描述
  1. Mysql安裝環(huán)境包
    不一定要指定版本


    在這里插入圖片描述
  2. winserver2008r2系統(tǒng)相關補丁


    在這里插入圖片描述

第二行exe程序為,windows sp1升級包

  1. 谷歌瀏覽器安裝包

  2. office2007需要安裝插件,2010以上不需要


    在這里插入圖片描述

二、安裝過程
1.升級安裝sp1 安裝包,如果已升級過就不用升級
下載地址:(http://www.ysiis.com/info/411
2.安裝VC_redist.x64 2015.exe
3.安裝Windows6.1-KB2533623-x64補丁包,Windows6.1-KB2999226-x64補丁包
4.把msvcr120.dll、msvcp120.dll放置在C盤/windows/system32文件夾中
備注:如果系統(tǒng)報錯缺少什么dll文件,可以去這個地址搜索
https://cn.dll-files.com/msvcp120.dll.html
5.安裝完成重啟電腦
6.安裝JDK并配置環(huán)境變量,訪問以下地址,或查看安裝目錄截圖
https://blog.csdn.net/huaicainiao/article/details/79340572?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161629569916780261986813%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161629569916780261986813&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-79340572.first_rank_v2_pc_rank_v29&utm_term=jdk)、
7.安裝Mysql配置環(huán)境變量,修改密碼,訪問以下地址,或查看安裝目錄截圖
https://blog.csdn.net/weixin_40396510/article/details/79277731
8.安裝python環(huán)境和安裝庫
(1)以管理員方式安裝,python運行安裝包,推薦一步一步安裝,注意選擇自動添加環(huán)境變量。不然后面手動加很麻煩。
(2)安裝pandas、mysqlclient、pywin32類庫,主要講解,pandas

繼續(xù)安裝xlrd-1.2.0-py2.py3-none-any.whl,安裝過程中,完成后如果報錯,就換一個pandas版本繼續(xù)嘗試。
9.安裝完成后,先使用cmd執(zhí)行python腳本看是否報錯。
10.安裝谷歌瀏覽器安裝包
11.安裝office安裝包,注意如果是2007以下的office需要安裝saveaspdfandxps.exe
安裝office參考下面網址:(http://www.downcc.com/soft/4043.html)序列號和安裝包網站里都有。

二.JAVA 調用 Python

真的是被搞吐血了,java調用python、
之所以被卡很久才解決,首先你需要把你的python腳本在windows命令行
執(zhí)行一次如果成功再做后面的操作
如果不成功報錯顯示(第三方庫沒找到,具體代碼是什么no module not found)
出現這一步,你需要在命令行輸入一下代碼
(需要注意的是,python腳本和java調用的地方必須全部使用絕對路徑)?。?!

pip list
在這里插入圖片描述

查看是否有包,如果有,找到那個包所在的文件夾
輸入以下的代碼

python//回車
import sys//回車
sys.path//然后查看你自己庫所在的目錄是否在這些目錄中

這些目錄是python自動找包的地方
如果不存在,你需要在系統(tǒng)的環(huán)境變量里的系統(tǒng)變量那里添加
PYTHONPATH變量然后把你包所在的文件夾目錄拷進去(類似配置java環(huán)境變量)
重復以上步驟看是否有這個目錄
然后再用命令行執(zhí)行腳本看是否能執(zhí)行
成功執(zhí)行以后嘗試java調用執(zhí)行

  1. python代碼(調用了第三方操作mysql的庫)
import MySQLdb
if __name__ == '__main__':
    db = MySQLdb.connect(
        host="localhost",
        user="root",
        passwd="123456",
        charset='utf8',
        db="jianda")
    cur = db.cursor()
    print("success")
  1. Java代碼
@Test
    public String pyfileUpload()   {
        String result = "";
        try {
        //這個方法是類似隱形開啟了命令執(zhí)行器,輸入指令執(zhí)行python腳本
            Process process = Runtime.getRuntime()
                    .exec("python解釋器位置(這里一定要用python解釋器所在位置不要用python這個指令)+ python腳本所在路徑(一定絕對路徑)");
            //這種方式獲取返回值的方式是需要用python打印輸出,然后java去獲取命令行的輸出,在java返回
            InputStreamReader ir = new InputStreamReader(process.getInputStream());
            LineNumberReader input = new LineNumberReader(ir);
            result = input.readLine();//中文的話這里可能會有亂碼,可以嘗試轉一下不過問題不大
//            result1 = new String(result.getBytes("iso8859-1"),"utf-8");
            input.close();
            ir.close();
            int re = process.waitFor();
            System.out.println(result);
        } catch (IOException | InterruptedException e) {
            System.out.println("調用python腳本并讀取結果時出錯:" + e.getMessage());
        }
        return result;
    }

瀏覽器返回結果


在這里插入圖片描述

至此完全成功,真的搞吐血了

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容