我使用pyinstaller从python脚本生成了一个可执行文件来检查系统是否安装了python。
这是python代码:
import subprocess
subprocess.call('python -V 1> nul 2> zwzwzw.txt' , shell = True)
var1 = subprocess.call('find /i "not recognized" zwzwzw.txt', shell = True)
subprocess.call('del zwzwzw.txt' , shell = True)
if(var1 == 0):
print ("python not found")
else:
print ("python found")
这段代码的作用是调用python -V命令并将其存储到文本文件zwzwzw.txt中。然后它在文本文件中搜索单词“not recognized”。如果找到“not recognized”,则var1 = 0,因此我得到“python not found”,否则“python found”。
我正在测试它的电脑有
简而言之,关于该系统上的python,一切都很好。但是在运行此可执行文件时,它显示“python未被识别为内部或外部命令”。通常在未添加路径时显示此行。但这不可能是这种情况,因为我手动键入python或python -v python被识别。它只有当我尝试从可执行文件中调用此命令时才显示此错误。
然而,该命令在我的笔记本电脑上正常工作。它显示了python的发现。
似乎另一个系统只将python路径添加到用户变量而不是系统变量。这就是造成这种差异的原因吗? 不,我在添加系统变量的路径后尝试了它但它没有工作。
非常感谢任何帮助。