작성
·
46
0
ActiveX 설정:
KHOpenAPI
는 ActiveX 컨트롤을 사용합니다. 이 컨트롤이 설치되어 있는지, 그리고 32비트 환경에서 설치 및 등록이 되어있는지 확인해보세요.
키움증권에서 제공하는 OpenAPI+
설치 프로그램을 다시 다운로드 및 설치하여 환경을 재설정해 보시기를 추천합니다.
파이썬 32비트 확인:
kiwoom
모듈은 32비트에서 작동하도록 설계되어 있습니다. 현재 사용하시는 파이썬이 32비트 버전인지 python -V
및 패키지 목록 등을 통해 확인해보세요. 만약 64비트라면, 32비트 파이썬으로 가상환경을 다시 설정하여 pykiwoom
및 필요한 모듈들을 설치해야 할 수 있습니다.
참조 URL:
비슷한 문제를 겪었던 다른 사용자의 해결 과정을 참조하시기 바랍니다:
“pykiwoom 설치 에러 나시는 분 참조 함 해보세요.” - 여기에서는 Python 10.04 32bit 버전을 사용하여 문제를 해결한 경험을 공유하고 있습니다.
다 했는데도 동일한 에러 메시지가 뜹니다(
1번은 30번 넘게 새로깔고 다시 부팅하고 중간에 32비트 환경설정하는거 없이 바로 바로 넥스트입니다
참고로 저는 윈도우10입니다
2번 32비트 확인했습니다
(kiwoom32) PS C:\Users\main> python -c "import platform; print(platform.architecture())"
>>
('32bit', 'WindowsPE')
(kiwoom32) PS C:\Users\main>
3번 저는 윈도우10입니다
(kiwoom32) PS C:\Users\main> py "C:\Users\main\Desktop\kiwoom\from1.py"
QAxBase::setControl: requested control KHOPENAPI.KHOpenAPICtrl.1 could not be instantiated
Traceback (most recent call last):
File "C:\Users\main\Desktop\kiwoom\from1.py", line 3, in <module>
kiwoom = Kiwoom()
^^^^^^^^
File "C:\Users\main\AppData\Roaming\Python\Python312\site-packages\pykiwoom\kiwoom.py", line 36, in init
self._set_signals_slots()
File "C:\Users\main\AppData\Roaming\Python\Python312\site-packages\pykiwoom\kiwoom.py", line 221, in setsignals_slots
self.ocx.OnReceiveTrData.connect(self.OnReceiveTrData)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'QAxWidget' object has no attribute 'OnReceiveTrData'
(kiwoom32) PS C:\Users\main>
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
major님께서 겪고 계신 문제는 ActiveX 컨트롤이 제대로 설치되지 않거나 레지스트리에 등록되지 않은 경우 발생할 수 있는 오류입니다. 이에 대한 몇 가지 해결 방법을 제안드립니다:
ActiveX 등록
regsvr32 khopenapi.dll
C:\Windows\SysWOW64\
폴더에 존재하지만, 없으면 키움증권의 OpenAPI+ 설치 프로그램 경로에 있을 수 있습니다.재설치 과정에서 중요한 점
유사한 문제 해결 사례 참고
파이썬 드라이버 재설치
pykiwoom
모듈을 제거하고 다시 설치해 보세요. 설치 및 버전의 문제일 가능성이 있습니다:
pip uninstall pykiwoom
pip install pykiwoom
이런 시도에도 문제가 계속된다면, 키움증권 고객센터에 문의하여 보다 상세한 지원을 받는 것도 고려해보세요. 계속해서 문제가 발생하면 추가적인 디버깅 또는 새로운 설치 프로세스가 필요할 수 있습니다.
ai인가요 챗gpt하고 똑같이 대답 해주시네요