py2exe로 실행 파일로 내보낼 응용 프로그램을 파이썬으로 작성했습니다. 응용 프로그램이 exe 일 때 작동하는 플러그인 시스템을 작성하려고합니다.Python Plugin Capability
내 원래 코드는
import os
Plugins=os.listdir('plugins')
for P in Plugins:
PItems=os.path.splitext(P)
PName=PItems[0]
if PItems[len(PItems)-1]=='.py':
Mod=__import__('plugins.'+PName,fromlist=['*'])
Mod.init()
하지만이 모듈을 찾을 수 없습니다 exe 인을 내보낼 때 '플러그인을. (pluginName)'가 시도 할 때 가져올처럼 보였다.
플러그인은 my_application 가져 오기를 수행하여 애플리케이션 API에 액세스 할 수 있어야합니다.
mcEdit (파이썬으로 작성) 및 Sublime Text (확실하지 않음)이 작업을 수행 할 수 있지만 소스 코드를 트래킹하는 동안에도 내가 어떻게 찾을 수 없습니까.
exe로 내보낼 때 어떻게 동작할까요?
편집 : 이
- 플러그인은 자동으로 응용 프로그램이로드 될 때로드해야 명확합니다. 그들은 같은
myapplication.getFoo()
또는 - 이러한 플러그인
myapplication.setBar(Bar)
는 마우스 클릭이나 움직임으로 한 번 또는 이벤트에서 실행 할 수 - 플러그인이
import myapplication
다음 API 호출을 실행하는 응용 프로그램과 상호 작용할 수 있어야한다plugins/
디렉토리에 저장됩니다 심지어는 화면을 그릴 때마다 나는 그들이 응용 프로그램이 실행되는 동안 그들의 상태 (변수 값, 객체 등 ...)를 유지하고 싶습니다.
당신은 현재 작업 디렉토리가 예상 한 것과 모듈 검색 경로에 있는지 확인 했습니까? (이것은 동적으로 모듈을 로딩 할 때 가장 중요한 문제 였지만, py2exe로 작업하지 못했습니다.) – Gryphius
어떻게하면됩니까? – Bonzo
'os.getcwd()'와'sys.path'를 확인하십시오 – Gryphius