-
분노의 키움 openAPI 연동기 (vscode / anaconda / python3) - 해결 총정리 windows10 + 아나콘다 62bit / 32bit 동시 설치기록하다 2022. 3. 11. 15:16
분노를 지나 격노끝에 남긴다.
나와 같이 api 연동에 어려움을 겪은 분들이 좀 더 빨리 이 늪에서 헤어나시길.
일단 가장 처음 만나는 보편적 오류 메시지 .
1. 'QAxWidget' object has no attribute 'OnEventConnect'
QAxBase::setControl: requested control KHOPENAPI.KHOpenAPICtrl.1 could not be instantiated
주로 나오는 이야기들을 정리하면
1.키움증권에 api 사용신청 (안했다면 해야함)
2.32bit의 (가상)환경 내에서의 실행
3.OPENAPI모듈의 버전을 최신으로 업데이트
4.호환되는 파이썬 버전인 3.6 으로 세팅( 3.7은 안된다고 함)
(*케라스를 사용하는 파이썬 모듈은 64bit에서도 잘 돌아간다는 말이 있음)
마지막까지 읽어 본 뒤, 이 방법을 따라할지 선택하시길.
위 조건을 모두 만족하는 환경을 구성하기위해, 짜증나지만 아나콘다부터 32bit로 다시 설치하기로 했다.
시작 -> 32bit (가상)환경 구성
https://www.anaconda.com/products/individual#Downloads
여기서 윈도우 아이콘을 클릭해서 34bit 로 다시 받아 설치!
( 아나콘다 지우는데 꽤 오래걸린다. ㅠㅠ 참고하세요)
*** 주의 , 현재 windows10 위에 anaconda 32bit를 설치했다. 왜 때문인지 잘 안되어서
anaconda 32bit 버전을 다시 제거하고, anaconda 64bit 설치 -> anaconda 32bit는 경로만 바꾸어 추가 설치 함.
그 후
-> anaconda prompt (32bit)로 가상환경 생성 및 모듈 설치
anaconda prompt (32bit version) 실행
python 3.6.5의 가상환경 만드는 명령어를 anaconda prompt에서 입력 후 엔터!
conda create python=3.6.5 --name=py36_32
명령어의 순서가 바뀌면 아래와 같은 오류가 날 수 있으니 주의.
CondaValueError: The target prefix is the base prefix. Aborting
잘 생성되었는지 확인
conda env list
리스트에 내가 지정한 이름(py_36_32)가 추가되었다면 ok
conda activate py36_32
새로 생성한 가상환경 활성화.
pip install pandas pyqt5 matplotlib conda install pywin32 <---- pip가 아님 주의 pip install pykiwoom
설치 과정에서 Proceed ? Y/n 이런 말이 나오면 y 누르고 엔터
그러면 cmd 창에서 (base) 로 되어있던 부분이 (py36_32)로 바뀌어 표시된다.
코드 실행
vscode 에서 코드를 실행했다.
아래 기본적인 로그인 테스트용 코드
from pykiwoom.kiwoom import * kiwoom = Kiwoom() kiwoom.CommConnect(block=True) print("블록킹 로그인 완료")
실행했더니, 아래처럼 오류가 남.
해결하기 귀찮아서 vscode에서 실행하지 않기로 함ㅋ
그래서 anaconda prompt에서 아래와 같이 실행하였음.
결론: vscode에서 디버깅은 불가한 상태지만 안정적으로 로그인 테스트는 했다.
현재 이 개발 프로젝트가 잠정중단하리고 결정이 나서, 잘 봉인해뒀다가 다음에 꺼내쓰려고 한다.
혹시나 나처럼 연동만 되면 나머진 잘 헤처나가버리겠다 하시는 분이 있다면 따라아시길.
더불어 필자는 Mac pc에서 windows10이 설치되어있는 노트북에 원격접속하여 개발세팅을 진행했다.
사용한 원격 프로그램은 팀뷰어.
예전보다 많이 빨라져서 원격 개발을 한다고 해도 전혀 지장없을 정도.'기록하다' 카테고리의 다른 글
이것저것 끄적이는 블로그에서 브랜드 블로그로 바꾸는 방법. - 브랜드 블로그 초반 세팅 방법 (0) 2024.05.02 [오류해결] Execution failed for task ':app:mergeDebugNativeLibs'. (0) 2022.05.30 (웹크롤링/스크래퍼) 추천사이트 - 상시업데이트 함. (0) 2022.01.21 (해결)pyppeteer.errors.TimeoutError: Navigation Timeout Exceeded: 8000 ms exceeded. (0) 2022.01.19 vscode 에서 anaconda 환경 연동하기 (0) 2022.01.16