머신러닝 주가예측 및 자동매매를 위해 사용할 환경은 다음과 같다.

 

1. 하드웨어

   - CPU : 인텔 i5-6400

   - 램 : 8기가

   - OS : 윈도우 10

   - no GPU

 

2. 소프트웨어

   - Anaconda3_2020.11 (python 3.8.5) 64bit

   - Anaconda 가상환경 (python 3.7.9) 32bit

   - Visual Studio Code 1.52.1 

   - 영웅문4, 번개3

 

 

 

우선....

 

장장 4시간에 걸친 삽질에 대해 남겨야 하겠다. 같은 삽질을 반복하면 안되니깐.

   - python 단독으로 깔지 말고 anaconda 깔아라. 정신에 이롭다. 64bit에 32bit 가상환경 설정하는게 맞다. [1]

   - 파이썬 아키텍쳐 2개가 필요하다. 머신러닝 모델링을 위해 64bit로 돌려야 하고, 증권사 api 구동을 위해 32bit가 필요하기 때문이다.

   - python이나 anaconda 64비트 32비트를 하나의 pc에 깔 수는 있지만 정신건강에 매우 해롭다. 64비트에 깔린  ipykernel이 32비트에서 인식되는 바람에 아무것도 할 수 없었다.

   - 64비트 anaconda를 설치한 후 32비트 가상환경을 만들어 구동하는 것이 "아직까지는" 성공적이다.

   - 64비트는 python 3.8.5 버전을, 32비트 기상환경에는 python 3.7.9 버전을 설치했다. 똑같은 버전을 설치해 보니, 헷갈린다.

   - 64비트에서 32비트 가상환경 만들고 잘만들어졌는지 확인하는 거는 vs code에서 하지말고, anaconda prompt 에서 하는 것이 바람직하다. vs code 터미널에서 작업하다가 2시간 이상 날려먹었다.

   - vs code나 anaconda prompt는 관리자 권한으로 실행해야 한다. 안그럼, 권한으로 귀찮게 한다.

 

 

 

 

 

 

from  pykiwoom.kiwoom  import *

 

"from pykiwoom.kiwoom import *"

이 코드가 오류없이 구동되는 모습을 보는데 4시간이 걸렸다. 패키지가 잘 import 되자, 눈물이 날거 같았다.

 

 

첫번째 코드 오류 : ModuleNotFoundError: No module named 'PyQt5.QAxContainer'

이것은 PyQt5 모듈을 찾을 수 없다는 것인데, "pip install pyqt5" 하면, 이미 패키지가 설치되어 있다는 말을 들려준다. 

 

해결방법은 "pip install pyqt5==5.13" 이다.

32비트 가상환경에는 python 3.7.9 버전이 깔려 있는데, 3.7.9는 PyQt5 최신버전인 5.15와 맞지 않기 때문이다. [2]

 

 

두번째 코드 오류 : ImportError: DLL load failed while importing QAxContainer: %1은(는) 올바른 Win32 응용 프로그램이 아닙니다.

 

이건 정확히 원인을 찾지 못했는데, 64비트과 32비트 가상환경 사이에 뭔가 맞지 않은게 있다는 의미로 이해했다. 해결방법은 vs code에서 만든 32비트 가상 환경을 삭제하고, anaconda prompt에서 다시 만들었다. 

 

 

 

32비트 가상환경 오류

 

vs code에서 만든 32비트 가상환경은 자기가 계속 64비트라고 말한다. 

anaconda prompt에서 32비트 가상환경을 만들고 확인하면 자신이 32비트라고 솔직히 말한다.

 

 

 

 

 

ipykernel 설치 오류 (캡처 못해서 구글링 펌)

 

 

별거 아닌거 같았지만 내 정신을 많으 갉아먹은 오류다.

"python requires ipykernel to be installed"  그래그래, 설치해봐 하고 install 누르면

"ipykernel not installed into interpreter python" 안된다고 대답한다.

 

이 오류는 64bit 파이썬을 깔때 ipykernel이 64비트에 맞게 설치가 되었는데,

32비트 가상환경도 ipykernel 쓰고 싶어서 깔아달라하는데,

32비트에서 pip install 하면 이미 설치되어 있다고 설치가 안되는 무한루프 오류이다.

 

해결방법은 아나콘다(64비트) 삭제 후 재설치 -_-;;

방법을 찾다가 재설치가 빠를거 같아서 재설치 했다.

 

 

 

 

기억나는 것들 적어놓고 보니 별거 없는데, 4시간을 날려먹었다.

오늘 키움 API로 로그인해서 삼성전자 일봉 정보 다운로드까지 받고 싶었는데

달랑 "from pykiwoom.kiwoom import *" 이거 성공했다.

 

 

 

파이썬 32비트 가상환경 설정 완료

 

 

 

내일은 또 어떤 에러가 날 기다리고 있을까....

 

 

 

도움주신 좋은 글들

[1] lazyblue.tistory.com/9

[2] m.blog.naver.com/oneaview/221997472226

 

 

 

 

2020.12.31. 코리.

 

+ Recent posts