我正在尝试研究如何在 Flask 中使用 alembic,我想在 Flask 应用程序中导入一个方法:
tree .
.
├── README.md
├── alembic
│ ├── README
│ ├── env.py
│ ├── env.pyc
│ ├── script.py.mako
│ └── versions
│ ├── 8f167daabe6_create_account_table.py
│ └── 8f167daabe6_create_account_table.pyc
├── alembic.ini
├── app
│ ├── __init__.py
│ ├── main
│ │ ├── __init__.py
│ │ ├── errors.py
│ │ ├── forms.py
│ │ └── views.py
│ ├── models.py
│ └── templates
│ ├── 404.html
│ ├── 500.html
│ ├── base.html
│ ├── index.html
│ └── user.html
├── config.py
├── data.sqlite
├── manage.py
└── requirements.txt
in 应用程序/__init__.py:
def create_app(config_name):
app = Flask(__name__)
我想进口create_app
in env.py
:
from app import create_app
但当我运行命令时,错误显示如下alembic upgrade head
:
File "alembic/env.py", line 5, in <module>
from app import create_app
ImportError: No module named app
有什么想法吗?
我猜你正试图逃跑
python env.py
在这种情况下,您的应用程序目录不在PYTHONPATH
.
解决方案1
从父目录运行应用程序:
python alembic/env.py
解决方案2
Set the PYTHONPATH
在运行应用程序之前
PYTHONPATH=/path/to/parent/dir python env.py
edit
我读到alembic
。正如@mrorno所说,只需设置PYTHONPATH
运行 alembic 之前:
PYTHONPATH=. alembic upgrade head
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)