파이썬 애니웨어 파일 경로가 잘못되었을 때 대처방법!

2019. 11. 13. 06:56

필자의 책에는 플라스크로 만든 웹페이지를 파이썬 애니웨어로 배포하는 내용이 나온다. 이번에 기회가 되서 더 복잡한 형태의 웹페이지를 업로드 하게 되었다. 파이썬 애니웨어를 이용하는 것은 어렵지 않으나, 문제가 생겼을 때 대처하기가 좀 까다롭다. 외국 싸이트이다 보니 한국인이 접근하기는 어려운 것이 현실이다.

오늘은 파이썬 애니웨어 파일 경로가 잘못되었을 때 대처방법에 대해서 알아보도록 하겠다.


문제



보통 파이썬 코드를 작성할 때 데이터는 data 폴더를 만들어서 저장한다. 필자도 그렇게 파이썬 코드를 작성했고 아래와 같이 소스코드를 올리는 곳에 data 폴더를 올렸다.


파이썬_애니웨어_소스코드_올리기



하지만 플라스크 웹페이지를 구동했을 때 데이터 폴더 안에 있는 파일을 찾지 못하는 에러가 발생했다. 저는 코드를 작성할 때 아래와 같이 경로를 지정하였는데, 작업 디렉토리가 소스코드를 올리는 곳이 아니라서 에러가 발생했다.



  con = sqlite3.connect("./data/test.db"))



그래서 일단 working 디렉토리에 데이터 파일을 올려서 오류를 해결했다. 아래와 같이 하면 working 디렉토리가 어디인지 확인할 수 있다. 플라스크 웹페이지로 올리는 것이 가상 환경처럼 되어 있다. 파이썬 가상 환경을 이용하면 배포하기가 오히려 쉬었을 듯 하다.


working_디텍토리

( 소스코드 경로 밑에 working 디렉토리 경로가 있다 )



from os import path


ROOT = path.dirname(path.realpath("real_trade.db"))

con = sqlite3.connect(path.join(ROOT, "real_trade.db"))

( 위와 같이 코드를 입력하면 working 디렉토리 경로를 확인할 수 있다 )



필자가 만든 웹페이지는 아파트 실거래가를 보여주는 간단한 웹페이지이다. 관심이 있다면 아래 링크를 참조해보기 바란다.

( 참조: 테리엇의 아파트 실거래가 조회 바로 가기 )



오늘은 이렇게 파이썬 애니웨어 파일 경로가 잘못되었을 때 대체하는 방법에 대해서 알아보았다. 파이썬 애니웨어의 폴더 구조를 알면 어렵지 않게 대처가 가능한 문제였다. 파이썬 working 디렉토리에 대해서는 별로 신경을 안 썼는데, 새로운 사실도 알게 되었다.


몇 가지 팁이나 방법을 알면 파이썬을 더 효율적으로 코딩할 수 있는 방법들이 있다. 자세한 내용이 궁금하다면, 아래 링크를 참조해보자.
( 참조: 파이썬 효율적인 코딩팁과 방법들 )


댓글()