此错误与Dell Boomi有关,但我认为根本原因是更普遍的,这就是为什么我决定将其发布在这里
我正在探索“程序命令”形状,以了解其工作方式和局限性。到目前为止,我已经成功执行了bat,vbs和jar文件(尽管最后两个仅在实际path \ command之前实现“ cmd / c”之后才执行,即“ cmd / c C:\ Users \ UserX \ Desktop \ Boomi \ hi”)。罐子”)
我想接下来执行python,但是遇到了“找不到默认Python”的问题。现在,在回答“设置环境变量”之前,我已经完成了用户变量和系统变量都具有python.exe的路径。当我打开命令提示符时,我可以在任何地方执行脚本(hi.py),包括安装原子的文件夹,这是原子的上下文。
当我将python启动器设置为调试模式(PYLAUNCHER_DEBUG = 1)时,在命令提示符下运行时会得到以下转储:
launcher build: 32bit
launcher executable: Console
File 'C:\Users\UserX\AppData\Local\py.ini' non-existent
Using global configuration file 'C:\Windows\py.ini'
Called with command line: "C:\Users\UserX\Desktop\Boomi\hi.py"
maybe_handle_shebang: read 127 bytes
maybe_handle_shebang: BOM not found, using UTF-8
locating Pythons in 64bit registry
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\python.exe is a 32bit executable
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\win32\python.exe: The system cannot find the path specified.
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\amd64\python.exe: The system cannot find the path specified.
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\python.exe: The system cannot find the path specified.
locate_pythons_for_key: unable to open PythonCore key in HKLM
locating Pythons in native registry
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\python.exe: already found
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\win32\python.exe: The system cannot find the path specified.
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\amd64\python.exe: The system cannot find the path specified.
locate_pythons_for_key: C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\PCbuild\python.exe: The system cannot find the path specified.
locate_pythons_for_key: unable to open PythonCore key in HKLM
found configured value 'python=3.7' in C:\Windows\py.ini
search for default Python found version 3.7 at 'C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\python.exe'
run_child: about to run 'C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\python.exe "C:\Users\UserX\Desktop\Boomi\hi.py" '
child process exit code: 0
您可以看到执行成功,但是在boomi上运行同一命令(cmd / c设置PYLAUNCH_DEBUG = 1&C:\ Users \ UserX \ Desktop \ Boomi \ hi.py)时,这是转储:
Test execution of EES completed with errors.
Embedded message: Return value for program was a non-zero value [103]:
launcher build: 32bit
launcher executable: Console
File 'C:\Windows\system32\config\systemprofile\AppData\Local\py.ini' non-existent
Using global configuration file 'C:\Windows\py.ini'
Called with command line: "C:\Users\UserX\Desktop\Boomi\hi.py"
maybe_handle_shebang: read 127 bytes
maybe_handle_shebang: BOM not found, using UTF-8
locating Pythons in 64bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
found configured value 'python=3.7' in C:\Windows\py.ini
search for default Python found no interpreter Can't find a default Python.
您会看到,boomi在C:\ Users \ UserX \ AppData \ Local \ Programs \ Python \ Python37-32 \ python.exe中找不到默认解释器
从日志比较来看,我猜是boomi无法在HKCU中打开密钥?
我进入regedit来查看python文件夹的权限,并且所有帐户都至少具有读取权限,因此,除非Boomi使用某种隐藏帐户或临时帐户(我相信自atom.exe以来它将使用我的帐户)正在运行),我不知道为什么它无法读取密钥。
让我来到这里的一般问题是: 可以拒绝某个应用程序对HKCU的读取访问权限吗?如果可以,我如何将其授予特定的应用程序?
答案 0 :(得分:0)
好吧,很明显,在花了几个小时之后,在这里发布之后,我找到了解决方案,这非常明显。
我杀死了atom.exe并以管理员身份运行它,现在它可以读取密钥并运行python