【问题标题】:'"python" is not recognized' Error, but only when running from Java [duplicate]'“python”无法识别'错误,但仅在从Java运行时[重复]
【发布时间】:2018-11-03 15:20:50
【问题描述】:

我正在尝试帮助一位尝试从 Java 运行 Python 脚本的朋友。现在,这是我的代码:

Java:

public class test {
    public static void main(String[] args) {
        System.out.println("Hello world!");

        try {
            Runtime.getRuntime().exec("cmd /c start C:/Users/User/Documents/python/runFile.bat");
        } catch (IOException e) {
            e.printStackTrace();
        }     
    }
}

批次:

@echo off
python test.py 
pause

Python:

print("Hello")
input()

如果我运行批处理文件,它会按原样打印 Hello。但是当你运行 Java 文件时,它会出现这个命令提示错误:
“'python' 不是内部或外部命令、可运行程序或批处理文件。”
当您需要在 Windows 中编辑 PATH 变量时,似乎会出现此错误,但已经设置好了。就像我说的,这只是从 Java 运行时的问题。

【问题讨论】:

  • 您是否因为其他原因需要那个中间批处理文件?
  • Runtime.getRuntime() 如何处理$PATH
  • 所以批处理文件本身运行没有问题?
  • 伙计,如果我需要那个批处理文件,他就是这样做的

标签: java python batch-file


【解决方案1】:

如果我更改批处理文件,它会起作用。我将“python”更改为“py”,然后指定文件位置,如:

py %~dp0test.py 

我不知道为什么会这样,而且以前没有,但是我们开始了

【讨论】:

  • 您可能被PEP 397 迷惑了,这是一项旨在帮助Windows 系统上的Python 版本管理的调整。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
  • 2020-06-11
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2021-10-02
相关资源
最近更新 更多