Приложение Dell Boomi (atom.exe) не может найти интерпретатор Python - PullRequest
0 голосов
/ 23 октября 2019

Эта ошибка связана с Dell Boomi, но я думаю, что основная причина несколько более общая, поэтому я решил опубликовать ее здесь

Я изучаю форму Program Program, чтобы увидеть, как она работает и ограничения,До сих пор я успешно выполнял файлы bat, vbs и jar (хотя последние два только после реализации «cmd / c» до фактического пути \ command, то есть «cmd / c C: \ Users \ UserX \ Desktop \ Boomi \ hi». jar ")

Я хотел выполнить 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

Как вы видите, выполнение выполнено успешно, но при запуске той же команды (cmd / c set PYLAUNCH_DEBUG = 1 & C: \ Users \ UserX \ Desktop \ Boomi \ hi.py) в boomi, это дамп:

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, и если да, то как я могу предоставить это конкретному приложению?

1 Ответ

0 голосов
/ 23 октября 2019

Ну, очевидно, потратив несколько часов на это и сразу после публикации здесь, я нахожу решение, и оно очень очевидно.

Я убил atom.exe и запустил его как администратор, теперь он может читать ключи и запускать python

...