2014-12-09 7 views
0

나는 COM과 'Python'스크립팅을 사용하는 프로젝트를 가지고있다. 이전에 우리는 Win32Com을 사용하는 'ComTypes'를 사용하고있었습니다. 이전 버전과의 호환성을 유지하려면 일부 인터페이스의 이름을 변경해야합니다. 그래서 여기에 내가 무엇을합니까python .pyc file with win32com

1) 'makepy'유틸리티를 사용하여 .tlb 파일에서 파이썬 파일을 생성하면 .. \ Lib \ site-packages \ win32com \ gen_py 폴더에 .py 파일이 생성됩니다.

2) 내가 만든 파이썬 파일에서 변경하고자하는 인터페이스의 이름을 변경합니다.

3) 응용 프로그램을로드하면 해당 .pyc 파일이 만들어지고 모든 것이 잘 작동합니다.

이제는 내 소프트웨어가 배포 된 모든 컴퓨터에서이 연습을 반복하고 싶지 않습니다. 그래서 설치 프로그램을 통해 .py와 .pyc 파일을 .. \ Lib \ site-packages \ win32com \ gen_py에 복사합니다.

그러나 내 응용 프로그램이 시작되면 변경된 인터페이스를 인식하지 못합니다. .py 또는 .pyc 파일이없는 것처럼 작동합니다. 다른 모든 인터페이스는 작동하지만 변경된 이름은 작동하지 않습니다. 동적으로 .pyc 파일을 무시하고 장면 뒤에 컴파일 된 파이썬을 만드는 것처럼 보입니다.

해당 위치에서 .dat 파일과 .pyc 파일을 삭제하면 응용 프로그램이 시작될 때 .pyc 파일이 다시 만들어집니다. 그러나 변경된 인터페이스가 작동하지 않기 때문에 사용하지 않았습니다.

1, 2, 3 단계를 사용하면 모든 것이 다시 작동합니다 !! 나는 당혹 스럽다.

도와주세요.

답변

0

확인. 나는 그 문제가 무엇인지 알아 냈다. makepy 도구를 사용하여 파이썬 파일을 만들면 gen_py 디렉토리의 dicts.dat 파일을 업데이트합니다. 따라서 다른 컴퓨터에도 해당 파일을 복사해야합니다.