flask运行错误:导入'project'时引发了ImportError异常。

4

我有一个名为Project的项目目录,其中包括Python文件、HTML文件等等,并希望在AWS EC2 Ubuntu服务器上部署。当我在本地运行时是好的。

当在Project目录下运行"flask run"时,在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 

6
获取详细的导入失败信息,请使用以下命令:python app.py。 - jluu
4个回答

15

在我的情况下,FLASK_APP文件中导入了一个特定库时发生错误。运行命令 python app.py,如jluu建议的那样,可以帮助你确切地知道ImportError发生的时间。


2

你是否在远程服务器上安装了依赖项?如果是,尝试将您的应用程序作为模块安装。

假设有以下目录结构:

/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 .

如果那不起作用,就在主脚本中注释掉所有导入项,并逐个检查,看看哪一个是问题所在。

我已经做了,同样的错误。 - tktktk0711

2

提醒未来的读者:一个可能不太明显的方法是,您可以通过以下步骤获取更多有关导入错误的详细信息:

  • 从您的__init__.py文件中删除所有导入行
  • 运行Flask并导航到它托管的页面
  • 在Flask仍在运行时重新添加导入行到您的__init__.py文件,并让Flask在运行时更新
  • 刷新浏览器中的页面。

现在您应该可以在浏览器中获得更详细的信息,了解哪一行代码导致了导入错误以及具体的跟踪信息。


1

我已经解决了,重新安装所有的库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接