我有一个名为project的项目目录,项目目录包括python文件和html文件等,并希望部署在AWS ec2 ubuntu服务器上。当我在本地运行时是ok的。
when run" flask run"在Project目录下,ubuntu终端出现错误。
flask run
* Serving Flask app 'project' (lazy loading)
* Environment: development
* Debug mode: on
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.
Error: While importing 'project', an ImportError was raised
我设置了一个.flaskenv文件如下:
FLASK_APP=project
FLASK_ENV=development
在我的例子中,在导入FLASK_APP文件上的特定库时出现错误。按照jluu的建议运行python app.py
命令将帮助您准确地了解importterror发生的时间。
您是否在远程服务器上安装了依赖项?如果是,试着把你的应用作为一个模块安装。
给定如下目录结构:
/yourapplication
/yourApplicationMainFolder
__init__.py
/static
style.css
/templates
layout.html
index.html
login.html
...
在/yourapplication/setup.py
上创建setup.py
文件:
from setuptools import setup
setup(
name='yourApplicationMainFolder',
packages=['yourApplicationMainFolder'],
include_package_data=True,
install_requires=[
'flask',
],)
使用pip安装:
pip install -e .
如果这不起作用,请注释掉主脚本中的所有导入,并逐一检查,看看是哪个出现了问题。
对于未来的读者:可能不太明显的是,您可以通过执行以下操作获得有关导入错误的更多详细信息:
- 从
__init__.py
文件中删除所有导入行 - 运行flask并导航到它所在的 页面
- 当flask正在运行 重新将导入行添加到
- 在浏览器中刷新页面
__init__.py
文件中,并让flask在运行时更新现在您应该在浏览器中获得更详细的信息,了解是哪一行导致了导入错误,并提供了回溯信息。
我已经解决了,重新安装所有的库。