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

一、整理安裝需要文件

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


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


    在這里插入圖片描述

第二行exe程序?yàn)?,windows sp1升級(jí)包

  1. 谷歌瀏覽器安裝包

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


    在這里插入圖片描述

二、安裝過(guò)程
1.升級(jí)安裝sp1 安裝包,如果已升級(jí)過(guò)就不用升級(jí)
下載地址:(http://www.ysiis.com/info/411
2.安裝VC_redist.x64 2015.exe
3.安裝Windows6.1-KB2533623-x64補(bǔ)丁包,Windows6.1-KB2999226-x64補(bǔ)丁包
4.把msvcr120.dll、msvcp120.dll放置在C盤/windows/system32文件夾中
備注:如果系統(tǒng)報(bào)錯(cuò)缺少什么dll文件,可以去這個(gè)地址搜索
https://cn.dll-files.com/msvcp120.dll.html
5.安裝完成重啟電腦
6.安裝JDK并配置環(huán)境變量,訪問(wè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)境變量,修改密碼,訪問(wèn)以下地址,或查看安裝目錄截圖
https://blog.csdn.net/weixin_40396510/article/details/79277731
8.安裝python環(huán)境和安裝庫(kù)
(1)以管理員方式安裝,python運(yùn)行安裝包,推薦一步一步安裝,注意選擇自動(dòng)添加環(huán)境變量。不然后面手動(dòng)加很麻煩。
(2)安裝pandas、mysqlclient、pywin32類庫(kù),主要講解,pandas

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

二.JAVA 調(diào)用 Python

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

pip list
在這里插入圖片描述

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

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

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

  1. python代碼(調(diào)用了第三方操作mysql的庫(kù))
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 {
        //這個(gè)方法是類似隱形開啟了命令執(zhí)行器,輸入指令執(zhí)行python腳本
            Process process = Runtime.getRuntime()
                    .exec("python解釋器位置(這里一定要用python解釋器所在位置不要用python這個(gè)指令)+ python腳本所在路徑(一定絕對(duì)路徑)");
            //這種方式獲取返回值的方式是需要用python打印輸出,然后java去獲取命令行的輸出,在java返回
            InputStreamReader ir = new InputStreamReader(process.getInputStream());
            LineNumberReader input = new LineNumberReader(ir);
            result = input.readLine();//中文的話這里可能會(huì)有亂碼,可以嘗試轉(zhuǎn)一下不過(guò)問(wèn)題不大
//            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("調(diào)用python腳本并讀取結(jié)果時(shí)出錯(cuò):" + e.getMessage());
        }
        return result;
    }

瀏覽器返回結(jié)果


在這里插入圖片描述

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

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容