Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Запуск скрипта Python через NativeProcess (http://www.flasher.ru/forum/showthread.php?t=215708)

mikhailk 30.04.2019 15:23

Запуск скрипта Python через NativeProcess
 
Взял пример дословно из адобовской доки:
https://help.adobe.com/ru_RU/FlashPl...veProcess.html

Проверяю работоспособность test.py, все в порядке
Код:

C:\workspace\prototypes\runPythonTest\bin>test.py
test.py
HI FROM PYTHON
Enter user name
rrr
hello,rrr

Запускаю адобовский пример, получаю:
Код:

[Fault] exception, information=Error: Error #3219: The NativeProcess could not be started. '%1 не является приложением Win32.
Что я делаю не так?

Добавлено через 1 час 52 минуты
В общем, победить не удалось.
Для своих целей сделал иначе - формирую на лету python-файл, пишу его во временный фолдер и дальше через openWithDefaultApplication().

Но все равно интересно.
Почему не работает пример из адобовской же документации.

caseyryan 01.05.2019 21:58

В какой папке он у тебя лежит и какой выдает путь, когда ты его пытаешься запустить из as3?
Такая ошибка обычно из-за неправильного получения пути. А путь к питону он берет из переменной среды. Куда у тебя сам интерпретатор питона установлен?

mikhailk 04.07.2019 15:12

Питоновский скрипт запускается по абсолютному пути, примерно так:
C:\samples\scripts\test.py

Питон в переменных среды:
C:\Python27;C:\Python27\Scripts;

Решение через openWithDefaultApplication оказалось рабочим, но теперь хотелось бы, чтобы скрипт запускался в фоне, а не вылетал с окном поверх всего.

Добавлено через 2 часа 47 минут
Заработало.
Поставил в nativeProcessStartupInfo.executable не скрипт, а самого питона, а скрипт передал ему параметром.

Код:

                var processArgs:Vector.<String> = new Vector.<String>();
                processArgs[0] = pythonScript.nativePath;
                nativeProcessStartupInfo.arguments = processArgs;
                nativeProcessStartupInfo.executable = _pythonExecutor;
                process.start(nativeProcessStartupInfo);



Часовой пояс GMT +4, время: 13:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.