Anaconda Prompt에서 pip install 패키지명을 실행하는 대신 PyCharm에서 패키지 설치하는 방법을 알아보자.

 

PyCharm에서 File - Settings을 클릭하여 Settings 창을 연다. (단축키 Alt + F7)

 

패키지를 설치하려는 Interpreter를 다음과 같이 선택한다.

 

 

현재 사용하고 있는 Interpreter에 설치된 여러가지 패키지 목록을 볼 수 있다.

 

다른 패키지를 설치하기 위하여 패키지 목록이 있는 곳 오른쪽에 + 버튼을 클릭한다.

 

 

위 그림과 같이 설치하고자 하는 패키지명을 입력하면 설치 가능한 목록이 출력된다.

 

원하는 패키지를 선택 후 Install Package를 클릭하면 해당 Interpreter에 패키지가 설치된다.

 

 

PyCharm에서 PyQt5.QAxContainer 모듈을 포함하여 개발하기 위해 PyQt5를 install 했다.

그러나 다음과 같이 설치가 됐다고 하나 에러가 발생한다.

 

 

 

ERROR: spyder 3.3.6 has requirement pyqt5<5.13: python_version >= "3", but you'll have pyqt5 5.14.1 which is incompatible.

확인해보니 Python 버전이 3 이상이라면 spyder 가 PyQt5 5.13보다 하위 버전에서 작동한다는 뜻이다.

spyder가 필요한 것이 아니니 PyQt5는 설치가 됐다고 하여 PyCharm에서 다시 import를 해봤으나 계속 참조할 수 없다고 표시된다.

 

1. PyQt5를 uninstall 후 다시 install 해보았지만 동일했다.

2. 아나콘다를 업데이트 했는데도 동일했다.

 

에러 메시지대로 PyQt5 모듈을 다운그레이드 해보았다.

pip uninstall PyQt5

pip install PyQt5==5.13

 

버전을 다운그레이드 하니 정상 작동 된다.

 

정확한 원인은 알 수 없으나 호환성 문제인 것으로 보인다.

 

 

다음과 같이 파이썬으로 키움증권 Open API 에 로그인하려고 하는데 아무 동작을 하지 않는다.

 

self.kiwoom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")

self.kiwoom.dynamicCall("CommConnect()")

 

원인을 찾아보니 키움증권 API가 32비트 파이썬만 지원하기 때문이다. 대부분의 증권사는 OCX, COM, DLL 방식의 라이브러리를 제공한다. 그래서 증권사 API를 파이썬에서 사용하려면 32비트 파이썬을 사용해야 한다.

참고로 키움증권은 OCX, 대신증권이나 이베스트 투자증권은 COM 방식을 제공한다.

 

그런데 PC에 이미 64비트 아나콘다를 설치했을 경우 어떻게 해야 할까?

 

다음과 같이 32비트 환경을 추가로 설치할 수 있다. 이것이 파이썬 가상환경이다.

 

Anaconda Prompt를 실행하여 다음과 같이 입력한다.

set CONDA_FORCE_32BIT=1

conda create -n py_32bit python=3.7 anaconda

 

 

위와 같은 명령어를 실행하면

Anaconda\envs\py_32bit 폴더에 32비트환경이 만들어진다.

설치가 완료되면 친절하게 32비트, 64비트 전환하는 방법도 설명해준다.

 

 

원하는 환경으로 변경 후 원하는 패키지를 install해서 사용하면 된다.

 

 Pycharm을 실행해서 32비트 python으로 interpreter되게 설정해보자.

File - New Project를 클릭한다.

 

Create Project 창이 뜨면 Existing interpreter에서 … 버튼을 클릭한다.

 

 

Conda Environment에서 32비트 python으로 실행되게 선택한다.

 

 

이제 파이썬으로 키움증권 API와 연동이 될 것이다.

 

+ Recent posts