2017-02-02 1 views
0

나는 Flask 응용 프로그램을 만들고 스크립트가 다른 디렉토리에있는 모듈 내에서 스크립트를 실행하려고 할 때 문제가 발생합니다. 나는 여러 가지 솔루션을 다른 사이트에서 살펴 보았고 작동하는 것을 찾을 수 없었습니다. 내가 api_fetch.py을 실행하지만 내 인생해야하는 기능을 가지고Flask의 상위 디렉토리에서 스크립트를 실행하는 방법은 무엇입니까?

dashboard\ 
    app\ 
    static\ 
    templates\ 
    __init__.py 
     jobs.py 
    api_fetch.py 
    config.py 
    run.py 

jobs.py 안에, 내가 그에게 무엇을해야하는지 잘 모르겠어요 : 나는 프로젝트 구조과 같이 있습니다. 나는 .., sys, os 및 nothings와 함께 수입품을 시도했습니다. 이것은 그렇게 어려운 일이 아니어야하는 것처럼 보입니다. 그러나 나는 손실에 처해 있습니다. 지금까지 나는 잘 작동하는 동일한 경로에서 모듈을 가져올 필요가있었습니다.

답변

0

jobs.py에서 :

from .. import api_fetch 

다음 '외부'dashboard :

$ python -m dashboard.app.jobs 

__init__.pydashboard 또한이어야한다.

당신은 단지 부모 패키지 dashboard에서 가져올 수 있습니다
0

는, 파일 구조는 좋아한다 :

dashboard\ 
    |app\ 
     |static\ 
     |templates\ 
     -__init__.py 
     -jobs.py 
    -__init__.py << don't forget this! 
    -api_fetch.py 
    -config.py 
    -run.py 

을 다음 jobs.py에 :

from dashboard import api_fench 
+0

내가 대시 보드 \에 __init __ py' 할'덧붙였다. app \ __ init__.py에서 코드로 이동해야합니까? 대시 보드에있는 \이 비어 있습니다. 'from .. import api_fetch ValueError : 최상위 패키지보다 상대 가져 오기를 시도했습니다. ' – eriye9

+0

죄송합니다, 실수가 있습니다. 상위 패키지에서 가져올 수 있습니다 (답변 참조). –

+0

이 변경을 시도하고'ImportError : dashboard라는 모듈이 없습니다'패키지를 잘못 설정해야합니다. 확실하지 않다. – eriye9

관련 문제