서버의 JSL 스크립트에서 파이썬 코드 실행안녕하세요 여러분,
서버(인터넷 연결 없음)에서, 어느 시점에 파이썬 스크립트(가상 환경)를 호출하는 JSL 스크립트가 있습니다. 아래는 파이썬을 호출하는 JSL 명령입니다. 파이썬은 F:\ Disk에 저장됩니다.
strCommand = “Path\to\virutual_env\.venv\Scripts\activate.bat\!” && python \!“Path\to\python_script.py\!””;
Run Program( Executable( “cmd.exe” ), Options( “/C ” || strCommand ) );
- 서버 명령 프롬프트에서 동일한 명령을 직접 실행하면(관리자 모드이든 아니든):“Path\to\virutual_env\.venv\Scripts\activate.bat” && python “Path\to\python_script.py\”, 작동합니다.
- 이 JSL 코드를 내 PC에서 실행해도 작동합니다.
하지만 서버에서 이 JSL 코드를 실행하면 더 이상 작동하지 않습니다. 파이썬은 실행되지 않지만 오류 메시지도 없습니다.
참고 사항: 인터넷에 접속할 수 없기 때문에 Python 가상 환경에서 패키지를 수동으로 서버로 전송하고 패키지를 읽을 수 있는 환경을 활성화했습니다.
같은 문제를 겪은 분 있나요?
자동화 및 스크립팅Re: 서버의 JSL 스크립트에서 파이썬 코드 실행PC와 서버에서 같은 경로가 있나요? 둘 중 어느 경로에 공백이 있나요(Run Program을 사용할 때 따옴표에 문제가 있을 수 있음)? 문제를 더 작은 부분으로 나누기 시작하세요.
- 경로에 올바르게 접근할 수 있나요?
- Python을 실행할 수 있나요?
- venv를 활성화할 수 있나요?
- 등
Re: 서버의 JSL 스크립트에서 파이썬 코드 실행안녕하세요,
정말 고맙습니다! 사실 문제는 경로에 공간이 있다는 것이었습니다.
Re: 서버의 JSL 스크립트에서 파이썬 코드 실행어떻게 그 문제를 해결했나요? 파일 경로를 "수정"했나요 아니면 JMP/명령줄에서 무엇을 하려는지 이해하도록 따옴표로 묶어야 하는지 알아내려고 했나요?
Re: 서버의 JSL 스크립트에서 파이썬 코드 실행빠른 수정을 해야 했기 때문에 경로의 공백을 먼저 제거했습니다. 그 후로 다시 이 주제로 돌아오지 않았다는 걸 인정해야겠습니다... 하지만 JMP 지원팀과 논의 중입니다. JMP18의 Python을 사용하라고 제안하지만 가상 환경을 지원하지 않으므로 패키지 버전을 직접 설치해야 합니다. 그리고 지금은 '단지' JMP 17을 사용하고 같은 것을 원하는 고객이 있습니다. 계속 알려드리겠습니다.
Re: 서버의 JSL 스크립트에서 파이썬 코드 실행인용문을 Run Program 애플리케이션에 전달하는 데는 한 가지 옵션이 있습니다. 인용문을 Run Program에 전달해야 했을 때 비슷한 것을 사용했고, 제 기억이 맞다면 다른 방법도 몇 가지 사용했습니다.
Re: 서버의 JSL 스크립트에서 파이썬 코드 실행https://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328 ( RunProgram을 사용하여 ""를 powershell로 구문 분석할 수 없음 )에는 Windows 명령줄 인용이 왜 그렇게 어려운지에 대한 설명에 대한 링크가 있습니다. 경로 이름에서 공백을 제거하는 것은 좋은 선택입니다.