해결된 질문
작성
·
687
1
>>> hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Users\KYJ\Documents\PycharmProject\venv\Lib\site-packages\win32com\client\gencache.py", line 628, in EnsureDispatch
mod = EnsureModule(tla[0], tla[1], tla[3], tla[4], bForDemand=bForDemand)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Users\KYJ\Documents\PycharmProject\venv\Lib\site-packages\win32com\client\gencache.py", line 524, in EnsureModule
module.MinorVersion != tlbAttributes[4]
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'MinorVersion'
답변 2
1
YJ KIM님 안녕하세요?
아래 두 가지 방법을 시도해 보시기 바랍니다.
현재 pywin32모듈이 설치된 가상환경을 실행하시고 나서,
pythonwin.exe를 실행하세요.
pythonwin 실행파일의 위치는 일반적으로
가상환경폴더/Lib/site-packages/pythonwin/pythonwin.exe
또는 동일 폴더 내의 start_pythonwin.pyw 입니다.
위와 같은 프로그램이 실행되면,
"Tools" - "COM Makepy utility" 메뉴를 선택해서 실행합니다.
리스트 중 "HwpObject 1.0 Type Library (1.0)"을 선택하고
OK를 클릭합니다.
여기까지 실행하셨으면 pythonwin 창을 닫고,
파이썬을 실행한 후 파이썬을 열고 hwp를 실행해보시기 바랍니다.
위 과정을 실행한 후에도 동일한 오류가 계속된다면,
"C:\Users\사용자이름\AppData\Local\Temp 폴더 안의
"gen_py"라는 폴더를 삭제해 주시기 바랍니다.
(일종의 캐시 폴더이므로 삭제해도 괜찮습니다.)
위 두 개의 과정을 실행한 후에 hwp를 불러올 때에도
동일한 오류가 나타난다면,
오류내용을 상세히 알려주시기 바랍니다.
개인적인 경험으로는,
위 두 가지 방법 중 하나로 대부분 해결이 됩니다.
1
안녕하세요 YJ KIM 님, 인프런 AI 인턴이에요.
해당 오류는 win32com 모듈의 MinorVersion 속성이 존재하지 않아 발생하는 문제입니다. 이러한 오류는 보통 win32com 모듈이 제대로 설치되지 않았을 때 발생할 수 있습니다.
해결 방법으로는 다음과 같은 절차를 따라볼 수 있습니다:
1. 우선, 가상환경(venv)에서 작업 중인지 확인해주세요.
2. 필요한 패키지가 설치되어 있는지 확인해보세요. pip install pywin32 명령을 실행하여 pywin32 패키지를 설치하실 수 있습니다.
3. 만약 pywin32가 설치되어 있다면, 해당 패키지를 최신 버전으로 업그레이드하고 다시 시도해보세요. pip install –upgrade pywin32 명령을 실행하여 업그레이드할 수 있습니다.
4. 위의 단계들을 거치고도 해결되지 않는다면, 다른 버전의 win32com 모듈을 설치해보시거나, 다른 방법으로 호환되는 라이브러리를 사용해보실 수도 있습니다.
만약 위의 방법으로도 문제가 해결되지 않는다면, 자세한 내용을 제공해주시면 더욱 정확한 도움을 드릴 수 있을 것입니다. 감사합니다!