4
나는 다음과 플라스크 코드가 파일 __init__.py 플라스크에서 작동하지 않습니다config.from_object 파이썬 3
from flask import Flask
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from flask_sqlalchemy_session import flask_scoped_session
from . import configmodule
app = Flask(__name__)
engine = create_engine(configmodule.DevelopmentConfig.SQLALCHEMY_DATABASE_URI) # <--- THIS WORKS
session_factory = sessionmaker(bind=engine)
session = flask_scoped_session(session_factory, app)
app.config.from_object('configmodule.DevelopmentConfig') # <--- THIS FAILS IN Python 3
...
파일 configmodule.py 위 __init__.py와 같은 디렉토리에 있습니다. 나는 그것이 파이썬 3.5.2을 사용하여 실행 한 후
, 내가 얻을 :
werkzeug.utils.ImportStringError: import_string() failed for 'configmodule.DevelopmentConfig'. Possible reasons are:
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
Debugged import:
- 'configmodule' not found.
이 오류는 코드의 마지막 줄입니다 :
app.config.from_object('configmodule.DevelopmentConfig') # <--- THIS FAILS IN Python 3
내가 그것을 실행 아무 문제가 없었다 Python 2. Python 3에서 어떻게 작동하게 할 수 있습니까? 감사.
감사합니다. 나는이 두 가지를 시도했지만 작동하지 않았습니다. – jazzblue
절대 가져 오기가 작동합니다. 디렉토리 구조가 어떻게 생겼는지에 따라 필자가 작성한대로 작동하지 않을 수 있습니다. – dirn
나는 그것을 되돌려받습니다 : .configmodule.DevelopmentConfig가 작동합니다. 감사! –
jazzblue