2013-02-14 3 views
0

heroku python console (처음 시도)에서 PostgreSQL에 액세스하는 동안 문제가 발생했습니다.Heroku python 콘솔 앱 모듈 ImportError

첫번째로, 나는이 작업이 반환 $ heroku run python

가 그럼 난 >>> from app import db으로 DB 모듈을로드하려고 사용하여 파이썬을 시작 :

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named app 

나는 하나의 웹 다이노이 app = Flask(__name__)을 가지고 파이썬을 실행 한 그 점을 제외하고는, 나는이 문제에 대해 더 많은 것을 밝히기 위해 내가 제공해야 할 다른 세부 사항을 모른다.

답변

1

터미널을 실험 한 후에 어떤 변수가 내 main.py에 있는지 알 수있는 방법이 없다는 것을 알았습니다. 그렇다면 내가했던 것은 터미널과 같은 터미널을 통해 앱의 주요 부분을로드하는 것입니다. 그래서 :

>>> import os 
>>> from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash 
>>> from flask.ext.sqlalchemy import SQLAlchemy 

>>> # create the application 
>>> app = Flask(__name__) 
>>> app.config.from_object(__name__) 
>>> app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL', 'some-url.com') 
>>> db = SQLAlchemy(app) 

그런 다음 나는 db 개체에 의도적으로 액세스 할 수있었습니다.

EDIT - 문제가 완전히 해결되었습니다. 내 수입의 대상이 루트 디렉토리에 있지이었다

  1. * 표시의 평 :

    그래서 파이썬 쉘에 내 응용 프로그램 코드를 가져 오는 동안 오류가 가지고 있던 이유는 두 배이었다 , 내가 껍질을보고 틀린 장소를보고 있었다.
  2. * .py 가져 오기에서 app.py라는 이름이 지정되지 않았으므로 (from app import db을 묻는 중) 잘못된 파일을 찾도록 쉘에 지시했습니다.

이 문제를 해결하는 방법은 sys.path에 내 * 평 파일의 경로를 추가하는 것이 었습니다 대신 from app import db의 우리 from my_filename_without_the_extenssion import db. 요약을 위해 쉘은 다음 지시 사항을 받았습니다.

관련 문제