关于Java调用python脚本waitFor:9009及cmd执行python无响应、无输出问题

首先,本文不涉及python文件错误、环境变量配置错误以及Java调用错误问题。本文涉及的工具有IDEA,Anaconda,Tomcat。

标题

  • 一些哔哔扯扯
  • 解决方法

一些哔哔扯扯

许久没有运行服务端代码,今天run了以下,发现之前能够从python脚本获取到的数据列表报了空指针异常;而process.getErrorStream()没有任何错误信息输出,只显示waitFor:9009。
打了断点之后,发现所有的数据流都为空,开始怀疑是外部错误。终于,在cmd中输入python命令后,发现打开了Microsoft Store。正当我奇怪时,在cmd输入了

where python

看到显示了两条环境变量,除了我原本的anaconda外,还有这个
在这里插入图片描述
在C:\Users\Administration\AppData\Local\Microsoft\WindowsApps路径下存在python.exe和python3.exe
除了anaconda外,我没装过其他python,看网上有说,win10直升windows1909后,就出现了%USERPROFILE%\AppData\Local\Microsoft\WindowsApps这条环境变量。可能是WindowsApps自己适配的python残留文件???

解决方法

两种解决方法

  1. 直接删除这个环境变量,但不知道对后续win10升级有没有什么影响,不过是windowsApps,应该问题不大,没几个人用win10的应用商店吧。
  2. 到C:\Users\(你自己用户名)\AppData\Local\Microsoft\WindowsApps下删除那两个python,直接删删不掉:
  • 以管理员身份运行 打开 “命令提示符”
  • 切换到上面路径下,del删除
cd C:\Users\(你自己用户名)\AppData\Local\Microsoft\WindowsApps
del python.exe
del python3.exe

之后再运行python,显示类似的信息,就成功了。
在这里插入图片描述

最后吐槽一下,win10真是会给我意想不到的惊喜,幸亏这段时间没碰服务端,才没有去过多怀疑代码问题,像这种没任何错误提示的真搞心态啊。

你可能感兴趣的:(python,java)