我的瓶的应用程序是一个名为app
位于包在/Users/gexinjie/Codes/MyProject/xinnjie_blog
瓶CLI无法找到脚本manage.py
文件树是这样
xinnjie_blog
├── app
| ├── __init__.py
│ ├── config.py
│ ├── exceptions.py
│ ├── model.py
│ ├── model_sqlalchemy.py
│ ├── static
│ ├── templates
│ ├── util.py
│ └── views
├── manage.py
我出口它作为PATHONPATH
,所以manage.py
可以导入app
echo $PATHONPATH
/Users/gexinjie/Codes/MyProject/xinnjie_blog
和出口FLASK_APP
echo $FLASK_APP
manage.py
当前目录是/Users/gexinjie/Codes/MyProject/xinnjie_blog
pwd
/Users/gexinjie/Codes/MyProject/xinnjie_blog
这里是manage.py
import click
from app import create_app
app = create_app('development')
@app.cli.command()
def initdb():
click.echo('Init the db...')
这里app.__init__.py
from flask import Flask
from .model_sqlalchemy import db
def create_app(config_name='default'):
app = Flask(__name__)
... # init
return app
但当时如果我执行flask initdb
,我得到个是错误:
Usage: flask [OPTIONS] COMMAND [ARGS]...
Error: No such command "initdb".
,如果我执行flask run
,我得到
Usage: flask run [OPTIONS]
Error: The file/path provided (manage) does not appear to exist. Please verify the path is correct. If app is not on PYTHONPATH, ensure the extension is .py
为什么没有发现manage.py?我该如何解决这个问题。 (实际上它运作良好时manage.py
对自己有瓶的应用程序)
# manage.py
# this work well
app = Flask(__name__) # not app = create_app('development')
谢谢
'app'是一个文件还是一个目录?你能发布其全部内容吗? –
@NathanWailes'app'是一个目录。我已发布其全部内容。 – xinnjie
你可以发布你的'app/__ init __。py'的内容吗? –