2016-08-20 2 views
2

UWP 응용 프로그램에서 python을 호출하는 방법을 찾으려고합니다. 지금까지 pyinstaller (www.pyinstaller.org/)를 사용하여 파이썬에서 컴파일 한 .exe 파일이 있습니다. 이것은 기본적으로 파이썬 스크립트를 독립 실행 형 바이너리로 패키징 할 수있게합니다 (즉, 파이썬을 실행할 필요가 없습니다). 이 모두는 잘 작동하고 나는 cmd.exe를 통해 문제 내 싸서 파이썬 .EXE를 호출 할 수 있습니다 :Universal Windows Platform (UWP) C# app - 응용 프로그램 내에서 독립 실행 형 Python을 실행하는 방법

$ 처리 파일 "파일을 \하는 경로 \"

$ process.exe -p를 : "경로를 \ to \ file "...

$ 완료.

그래서 지금은 그냥 내 UWP 응용 프로그램에서 호출 할 필요가 - 그래서 지금처럼 내 응용 프로그램에 추가 :

자산/process.exe

프로젝트

C#

실망스럽게도 필자는 내 문제에 대한 답변을 많이 찾지 못했다. 이온이 지금까지 포함했다 :

  • 바라 보았다 내 응용 프로그램
  • 에서 직접 "자산/process.exe를"호출 "응용 프로그램을 실행하고 결과를 얻을 수 있습니다." 나는이 솔기가 외부 응용 프로그램을위한 것이라고 생각하지만 ... 나는 어쨌든 그것을 얻지 못했습니다.
  • 여하튼 cmd.exe를 열고 거기에서 내 process.exe를 호출하십시오.

나는 올바른 방법을 시도할지 여부를 모르겠다. 아니면 내 발견의 일부를 이해하지 못했다면. 또는 (손가락이 엇갈린) 거기에 간단한 해결책이 있습니다. 저는 UWP 개발과 C#을 처음 접했을 때 그걸 알지 못했고 어쨌든 놓쳤습니다.

그래서 모든 솔루션/포인터 여기 크게 감사드립니다!

답변

0

UWP 앱은 '샌드 박스 처리'되어 있습니다. 즉, 레지스트리에 대한 읽기/쓰기가 불가능하고 파일 시스템에서 임의의 파일에 직접 액세스 할 수없는 등 Windows의 나머지 부분과 분리하기 위해 많은 보안 제한 사항이 있습니다.

따라서 UWP 앱에서 .exe (또는 다른 실행 파일)을 실행할 방법이 없습니다. StorageFile (예 : 음악, 비디오 또는 기타 파일 형식)에 액세스 할 수있는 경우 해당 파일 형식과 연결된 기본 프로그램에서 launch the file을 사용할 수 있습니다.

+0

안녕하세요 Aniruddha Varma - 빠른 답변을 주셔서 대단히 감사합니다! 알겠습니다. 그렇다면 (또는 다른 누구보다) UWP 프로젝트에서 실행하기 위해 파이썬 코드와 의존성을 얻을 수있는 다른 방법을 알고 있습니까? 예 : 내 UWP 응용 프로그램에 액세스 할 수있는 다른 파일 형식으로 파이썬 응용 프로그램을 컴파일 할 수 있습니다. 잘못된 프로젝트 유형을 사용하고 있습니까? 아니면 현재 불가능한 노력하고 무엇이 주위에있는 유일한 방법은 C#에서 내 파이썬 프로그램을 완전히 다시 작성하는 것입니다? –

+0

또한 명확히하기 위해 - 저는 현재 데스크톱 응용 프로그램에 대해서만 걱정하고 있습니다. –

+0

@ WilliamTonkin-Howe 방금 데스크탑 응용 프로그램 (WPF 또는 WinForms - 보안 제한이 없음)을 개발할 수 있습니다. Iron Python (https://en.wikipedia.org/wiki/IronPython)을 사용하여 Python 라이브러리 (.NET을 개인적으로 시도하지 않았습니다)를 .NET에 통합 할 수 있습니다. –

관련 문제