【发布时间】:2021-04-26 15:24:48
【问题描述】:
我想将一个 Flask 对象导入 IDLE,以便进行实验和探索。
我可以通过在项目目录中输入python 来成功启动交互式命令行会话。
Python 3.7.5 (default, Nov 18 2019, 00:27:11)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from app import app
>>> dir(app)
['Flask', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',
'__package__', '__spec__', 'app', 'create_app', 'current_app', 'index', 'make_response', 'randint']
>>> exit()
但我想使用 IDLE 进行此探索。
所以我将我的项目路径添加到 IDLE 中的sys.path。
当我尝试使用from app import app 导入时,我收到错误AttributeError: module 'config' has no attribute 'settings。
代码示例:
from flask import Flask
def create_app():
app = Flask(__name__,instance_relative_config=True)
app.config.from_object('config.settings')
app.config.from_pyfile('settings.py',silent=True)
return app
项目结构:
project_dir/
├── app/
│ ├── app.py
├── config/
│ │
│ └── settings.py
└── instance/
└── settings.py
为什么IDLE在config目录下找不到settings.py模块?
注意:当我删除app.config.from_object('config.settings') 行时,导入成功。
【问题讨论】:
标签: python flask python-idle