문제

Pyinstaller, Py2Exe 또는 이와 유사한 도구로 생성 된 독립형 실행 파이브에 대한 좋은 플러그인 엔진을 만드는 방법은 무엇입니까?

Py2Exe에 대한 경험은 없지만 Pyinstaller는 IMPITE 후크를 사용하여 압축 저장소에서 패키지를 가져옵니다. 물론 PyinStaller로 생성 된 다른 압축 저장소를 동적으로 가져올 수 있고 코드를 실행할 수 있습니다. 이것은 간단한 플러그인 엔진 일 수 있습니다.

플러그인 (동적으로 가져 오는 것)이 원래 저장소에 존재하지 않는 라이브러리 (가져 오지 않음)를 사용하면 문제가 나타납니다. Import Hook는 원래 응용 프로그램을위한 것이며 나중에 가져온 것이 아니라 원래 저장소의 패키지를 검색하기 때문입니다 (플러그인 패키지 저장소).

이 문제를 해결하는 쉬운 방법이 있습니까? 그런 엔진이 존재합니까?

도움이 되었습니까?

해결책

EXE로 컴파일 할 때이 문제가 발생할 것입니다.

Python 라이브러리를 사용하여 사용자가 플러그인을 사용하여 액세스 할 수 있도록 생각할 수있는 유일한 옵션은 EXE 패키지에 모든 라이브러리를 포함시키는 것입니다.

지원되는 라이브러리를 서브 세트로 제한하고 문서에 나열하는 것이 좋습니다. 당신한테 달렸습니다.

나는 py2exe 만 사용했습니다.

py2exe에서는 검색에서 찾을 수없는 라이브러리를 지정할 수 있습니다. setup.py 파일.

다음은 샘플입니다.

from distutils.core import setup
import py2exe

setup (name = "script2compile",
       console=['script2compile.pyw'],
       version = "1.4",
       author = "me",
       author_email="somemail@me.com",
       url="myurl.com",
       windows = [{
                    "script":"script2compile.pyw",
                    "icon_resources":[(1,"./ICONS/app.ico")]  # Icon file to use for display
                 }],
       # put packages/libraries to include in the "packages" list
       options = {"py2exe":{"packages": [   "pickle",
                                            "csv",
                                            "Tkconstants",
                                            "Tkinter",
                                            "tkFileDialog",
                                            "pyexpat",
                                            "xml.dom.minidom",
                                            "win32pdh",
                                            "win32pdhutil",
                                            "win32api",
                                            "win32con",
                                            "subprocess", 
                                        ]}} 

       )

import win32pdh
import win32pdhutil
import win32api

다른 팁

Pyinstaller 하다 숨겨진 수입을 처리하기위한 플러그인 시스템이 있고 이미 몇몇 사람들과 함께 배송됩니다. 웹 페이지를 참조하십시오.http://www.pyinstaller.org) 말한다 :

Pyinstaller의 주요 목표는 3 자 패키지와 호환되는 것입니다. 이는 Pyinstaller를 사용하면 외부 패키지 작업을 수행하는 데 필요한 모든 트릭이 이미 Pyinstaller 자체에 통합되어 사용자 개입이 필요하지 않음을 의미합니다. Wikis에서 트릭을 찾고 파일 또는 설정 스크립트에 사용자 정의 수정을 적용 할 필요가 없습니다. SupportedPackages의 호환성 목록을 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top