2013-09-02 3 views
1

내 개발 (Win7) 시스템에서 내 응용 프로그램이 정상적으로 실행됩니다. 폴더 구조는 (스크립트 실행되고이 run.py 같습니다) 다음과 같습니다배포시 Python 패키지가 누락되었습니다.

응용 프로그램 내부
package1/ 
    __init__.py 
    run.py 
    .. 

, 잘 작동

import app from package1 

같은 물건을 할 일부 모듈이 있습니다. 이 스크립트가 실행되고이 때

ImportError: No module named package1 

내가 두 시스템의 sys.path에 들여다 : 나는 리눅스 머신에 배포하려고, 그 동일한 파일을 실행할 때

그러나, 오류가 발생합니다 . 리눅스 하나는이를 가지고있는 반면

C:\\Users\\USERNAME\\IdeaProjects\\PROJ_NAME\\package1 
C:\\Users\\USERNAME\\IdeaProjects\\PROJ_NAME 

: Windows 시스템의 첫 두 줄이 있습니다

/home/username/webapps/PROJ_NAME/package1 

나는 문제가 두 번째 줄이없는 것입니다 인식하고 있습니다. 그런데 왜 빠져 있습니까? 내가 뭘 놓치고 있니? 폴더 구조를 잘못 작성 했습니까?

+0

'import app; 인쇄 app .__ file__' 대신에 가져 왔습니까? –

+0

"PROJ_NAME"폴더는 두 컴퓨터 중 하나의 경로에 있어야하는 두 폴더 중 유일한 폴더라고 생각합니다. – user2357112

+0

@ user2357112 저에게 의미가 있습니다.하지만 질문은 왜 처음부터입니까? – Rubys

답변

0

이것은 진절머리 나는 해결책이며, 나는 그것을 좋아하지 않지만 작동합니다. run.py에 추가했습니다.

# Fixing the python path 
import sys 
import os 

file_location = os.path.dirname(os.path.abspath(__file__)) 
project_dir = os.path.abspath(os.path.join(file_location, os.pardir)) 
if not project_dir in sys.path: 
    sys.path.insert(0, project_dir) 
관련 문제