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

cmd상에서 제대로 python을 실행시키기 위한 도전

by 인터넷떠돌이 2019. 7. 2.
반응형

안녕하세요?

 

한참동안 여러가지 시도를 한다고 이래저래 헤메었습니다만, 그래도 어떻게 모의투자까지는 허접하기는 해도 한번도 메모리 부족으로 윈도우가 다시 시작하지 않고서도 어떻게 움직이게 하는 데는 성공하였습니다. 그래서 먼저 첫번째 발자국으로 메모리 부족을 피하기 위한 cmd상에서 python을 제대로 실행시키기 위한 일련의 과정을 이번 포스팅에서 다루어 보고자 합니다.

 

먼저 위 스크린샷처럼 dirname으로 되어 있어서 action_list.txt가 생성이 되지 않는 것이라고 생각을 처음에는 하였습니다. 그래서 이걸 바꾸어 주도록 합니다.

 

위 스크린샷처럼 transModelPath에 action_list가 생성이 되도록 만들어 주도록 한 것은 좋았습니다만. 이것도 한가지 문제가 있었으니.........

 

처음에는 이런 문제도 모르고, 모든 MyStockTrader.py에 복사해서 붙여넣기를 하는 수준으로 일단 무식하게 붙여넣기를 하였습니다.

 

그런데 실행을 시키고 나서도, 여전히 cmd상에서 실행을 시키면, 아무런 반응도 없는 것을 볼 수 있었습니다. 여전히 action_list.txt가 생성이 되지 않는 것 입니다.

 

 

일단 먼저 실행을 해서 메모리 상황을 체크해 보도록 합니다. 이렇게 메모리 자체는 제대로 작동이 되는 것을 볼 수 있었습니다.

 

그리고 나서 cmd상에서 해당하는 프로젝트의 폴더로 이동을 한 다음에, 위 스크린샷처럼 아예, 실행을 위해서 python py파일 이름을 타이핑 해 주도록 합니다.

 

역시나 실행을 시키고 나서는, 제대로 파이썬 때문인지는 몰라도, 제대로 메모리의 사용량이 올라가는 것을 볼 수 있었습니다.

 

일단 처음에는 action_list.txt가 생성이 되지 않았습니다. 그래서 위 스크린샷처럼 join(path경로, '..') 라는 명령어를 이용해서 상위 디렉토리를 결정해 주어야 합니다. 왜냐하면. h5파일 포함해서 위치를 지정하고 있다는 것을 잠시 잊고 있었습니다.

 

 

일단은 여전히 파이참 상에서는 제대로 실행이 되는 것을 확인할 수 있었습니다. 이래서는 뭐라고 해야 할까요? 정말 알다가도 모를 정도로 정신착란이 일어날 정도로 답답한 상황입니다.

 

그리고 나서 제대로 실행을 시킨 1번 자식 프로세스 덕분에 제대로 action_list1.txt가 생성이 되는 것을 확인할 수 있었습니다.

 

그래서 이번에는 위 스크린샷처럼 한번 모든 py파일에다가 일일히 이 방식으로 경로를 지정해 보도록 했습니다. 그리고 나서 다음 단계로 넘어갑니다.

 

이번에도 먼저 작업관리자를 실행시켜서 여전히 메모리의 감시를 하도록 합니다. 왜 이렇게 답답하게 하느냐 하면, 아무대로 메모리가 실시간으로 어떻게 변하는지 알아보기 위해서 입니다.

 

그런데도 cmd상으로 실행을 시키니까, 전혀 action_list.txt가 생성이 되지 않는 것을 볼 수 있었습니다. 이래서야 뭐가 제대로 되고, 아닌 것인지 정말 알 수 없었습니다.

 

그래서 한번 답답한 마음에, 한번 짚푸라기라도 잡는 심정으로 자식 프로세스 중에 하나만이라도 한번 실행을 시켜 보도록 했습니다.

 

그렇게 했더니, 위 스크린샷처럼 유니코드 에러라는 것이 뜨면서 뭐가 안되는 것을 볼 수 있었습니다. 그래서 지금까지 경로 문제가 아니라 유니코드가 잘못되어서 이런 문제가 벌어진 것을 알 수 있었습니다.

 

그런데 정말 귀신이 곡할 노릇이라고 해야 할까요? 사람 반 잡는 것이 어찌된 것인지 파이참에서 실행을 할 때는 위 스크린샷처럼 제대로 실행이 된다는 것 입니다. 왜 하필이면 cmd에서 실행을 하면 유니코드 에러가 나오고, 파이참에서 실행을 하면 저런 에러가 나오지 않는지 정말 신기한 일 입니다.

반응형