본문 바로가기
무모한 도전-주식 인공지능 만들기

RLTrader와 pytrader를 이어주는 작업 시즌2-2-

by 인터넷떠돌이 2019. 1. 19.
반응형

안녕하세요?


지난번 포스팅에서 에러가 나오는 것으로 마무리를 하였는데, 이 에러는 다른게 아니라 바로 exe파일이 작동이 되면 가상의 폴더 경로에 압축이 풀려서 작동을 하는데, 이것 때문에 실제로 있는 경로가 아니기 때문에 인식을 하지 못해서 발생을 하는 에러였습니다. 그래서 이번 포스팅에서는 log파일이 생성이 되는 경로부터 바꾸어 주도록 해 보겠습니다.



이전에는 log_dir이라는 항목이 있던 자리를 아예 pytrader의 자리로 바꾸어 주도록 해봅니다.



그리고 나서 스펙파일로 가서, 완성이 될 exe파일의 이름을 바꾸어 보도록 해 봅니다.



다음으로는 아나콘다 프롬프트를 열어서 한번 pyinstaller를 작동 시켜 보도록 합니다.



마지막으로 dist폴더에 들어가 보면, 위 스크린샷처럼 새로운 RLTrader가 생성이 되어 있는 것을 볼 수 있습니다.



이제 pytrader에 가서 한번 실행을 시켜 보도록 해 봅니다.




그런데 이번에는 새로운 에러가 뜨는 것을 볼 수 있었습니다. 이 에러의 이유는 제가 실수로 데이터 베이스의 경로를 지정했는데, 그거 때문에 경로 설정이 꼬여서 생기는 것 이었습니다.



그래서 이번에는 제대로 pytrader의 경로를 지정해 주도록 해야 했습니다. 실수이긴 하지만 정말 프로그램을 짜면서 휴먼에러의 위력을 다시금 체감하고 있습니다.



그리고 스펙파일로 가서, 한번 이름을 또 바꾸어 주도록 해 봅니다.



역시 아나콘다 프롬프트에서 실행을 해서 exe파일로 만들어 준 다음에, 제대로 생성이 되었는지 확인해 봅니다.



그리고 또 실행을 시키자, 이번에는 분명히 종목 코드를 068400으로 입력을 했는데, RLTrader에서 앞자리의 0을 빼버리는 것 때문에 에러가 나오는 것을 확인할 수 있었습니다.




그래서 기존에는 숫자로 바꾸어 주던 것에서 한번 str()함수를 사용해서 문자열로 바꾸어 주도록 만들어 보도록 합니다.



그리고 나서 스펙파일로 가서, 한번 더 이름을 바꾸어 보도록 합니다.



그리고 나서 아나콘다 프롬프트로 연 다음에 제대로 exe파일이 생성이 되었는 것도 확인해 보도록 합니다.



그런데 마지막으로 상당히 골치아픈 에러가 생기는 것을 볼 수 있습니다.



일단 이 에러가 생기는 이유가 바로 agent.py에서 지난번 텍스트 파일을 읽을 때 처럼 해서 생기는 문제인데, 아무래도 input() 함수를 여러개의 스크립트에서 사용을 할 수 없는 것으로 보입니다. 이에 대해서는 더 알아봐야 하는 문제가 있는데, 다음 포스팅까지 시간이 지체 될지도 모르겠습니다.

반응형