一、整理安装需要文件
- JDK运行安装包
- Python安装环境包(包括所用到的库文件)
不一定要指定版本
-
Mysql安装环境包
不一定要指定版本
在这里插入图片描述 -
winserver2008r2系统相关补丁
在这里插入图片描述
第二行exe程序为,windows sp1升级包
谷歌浏览器安装包
-
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文件夹中
备注:如果系统报错缺少什么dll文件,可以去这个地址搜索
(https://cn.dll-files.com/msvcp120.dll.html)
5.安装完成重启电脑
6.安装JDK并配置环境变量,访问以下地址,或查看安装目录截图
(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配置环境变量,修改密码,访问以下地址,或查看安装目录截图
(https://blog.csdn.net/weixin_40396510/article/details/79277731)
8.安装python环境和安装库
(1)以管理员方式安装,python运行安装包,推荐一步一步安装,注意选择自动添加环境变量。不然后面手动加很麻烦。
(2)安装pandas、mysqlclient、pywin32类库,主要讲解,pandas
继续安装xlrd-1.2.0-py2.py3-none-any.whl,安装过程中,完成后如果报错,就换一个pandas版本继续尝试。
9.安装完成后,先使用cmd执行python脚本看是否报错。
10.安装谷歌浏览器安装包
11.安装office安装包,注意如果是2007以下的office需要安装saveaspdfandxps.exe
安装office参考下面网址:(http://www.downcc.com/soft/4043.html)序列号和安装包网站里都有。
二.JAVA 调用 Python
真的是被搞吐血了,java调用python、
之所以被卡很久才解决,首先你需要把你的python脚本在windows命令行
执行一次如果成功再做后面的操作
如果不成功报错显示(第三方库没找到,具体代码是什么no module not found)
出现这一步,你需要在命令行输入一下代码
(需要注意的是,python脚本和java调用的地方必须全部使用绝对路径)!!!
pip list
查看是否有包,如果有,找到那个包所在的文件夹
输入以下的代码
python//回车
import sys//回车
sys.path//然后查看你自己库所在的目录是否在这些目录中
这些目录是python自动找包的地方
如果不存在,你需要在系统的环境变量里的系统变量那里添加
PYTHONPATH变量然后把你包所在的文件夹目录拷进去(类似配置java环境变量)
重复以上步骤看是否有这个目录
然后再用命令行执行脚本看是否能执行
成功执行以后尝试java调用执行
- 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")
- Java代码
@Test
public String pyfileUpload() {
String result = "";
try {
//这个方法是类似隐形开启了命令执行器,输入指令执行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;
}
浏览器返回结果
至此完全成功,真的搞吐血了