2012-05-31 1 views
3

현재 C++로 작성된 응용 프로그램을 개발하고 있습니다. 스크립팅 목적으로 필자는 Python 3.2를 사용합니다. Python이 설치된 내 개발자 컴퓨터와 모든 DLL을 올바른 위치에 설치했습니다.임베디드 Python 3을 사용한 응용 프로그램 배포

우수한 py2exe를 사용하기 전에 "순수한"Python 응용 프로그램 (즉, 원시 코드가 없음)을 배포했지만 임베디드 Python을 사용하여 배포하는 방법을 처음으로 알지 못합니다.

  • Python3.dll & Python32.dll 파이썬의 "DLL을"디렉토리
  • 파이썬 라이브러리
  • 에서
  • 으로 .pyd 파일 : 내 직감이 나는 다음과 같은 구성 요소가 필요합니다 가정의 말씀에서

마지막으로 요점은 무엇입니까? 으로 배포하려면 어떻게해야합니까? 몇 천 개가 넘는 파일이며 실제로 복사 할 필요가 없습니다. Py2exe는 압축 파일에 압축하여, 제 경우에도 그렇게 할 수있을 것 같아요? 더 중요한 것은 런타임에 파이썬 인터프리터에게 그가 라이브러리를 찾은 곳을 어떻게 알리는 것입니까?

+0

py2exe에에 주어진다 : //www.py2exe합니다. org/index.cgi/ShippingEmbedded – jfs

답변

2

당신이 번들 할 필요가있는 점은 파이썬 스크립트가 무엇을 호출하는지 사용하는지에 달려 있습니다. 만약 당신이 정말로 코어 인터프리터를 사용한다면 나는 dll을 번들링 할 필요가 있다고 생각한다.

그런데, 설치 한 파이썬에 대한 경로를 비활성화하고 응용 프로그램과 python dlls 및 libs를 동일한 테스트 폴더에 넣으면 개발 상자에서 테스트하기가 너무 어렵지 않아야합니다.

+0

공백은 (아직) 필요하지 않으므로 전체 도서관 출하. 그동안 Python은 Python이 PythonXY.zip (X = major, Y = minor 버전, 내 경우에는 32) 일 때 자동으로 ZIP 아카이브에서 항목을 가져 오는 것처럼 보입니다. 나는 그것을 살펴보고 여기에 다시보고 할 것입니다. 어쨌든 압축을 푼 파일을 복사하는 것이 더 쉽습니다. – dom0

0

site은 도움이됩니다. 당신이 기본적으로하는 일은 파이썬 스크립트가 .py 파일을 매번 해석하도록하는 대신 파이썬 스크립트를 .exe로 컴파일하는 것입니다. 또한 훨씬 더 빠를 것입니다.

+1

독립 실행 형 Python 응용 프로그램이 아닙니다. 응용 프로그램 자체는 C++로 작성되었으며 스크립팅 목적으로 만 Python을 사용합니다. 따라서 사용자가 런타임에서 내 C++ 응용 프로그램의 컨텍스트에서 실행하려는 일부 Python 코드를 입력 했으므로 실제로 .exe를 만들 수있는 항목이 없습니다. – dom0

2

이것은 통합을위한 최소 패키지를 제공하는 Python 3.5 릴리스에서 해결되었습니다.

https://docs.python.org/3.5/using/windows.html#embedded-distribution

내장 분포는 최소 파이썬 환경을 포함하는 ZIP 파일이다. 이는 최종 사용자가 직접 액세스하지 않고 다른 응용 프로그램 ( )의 일부로 작동하도록 의도되었습니다.

실제로 응용 프로그램 (링크 python3.dll)로 파이썬을 포함하는 방법에 대한 몇 가지 포인터는 그렇지 않으면 HTTP를 할 수 파이썬 3를 지원하지 않습니다 https://docs.python.org/3/faq/windows.html#how-can-i-embed-python-into-a-windows-application