繁体   English   中英

ImportError:__init__.py文件中没有名为…的模块

[英]ImportError: No module named… in __init__.py file

我的项目结构是:

/home/giri/couponmonk_project
    __init__.py
    views.py

__init__.py

from flask import Flask

app = Flask(__name__)
app.debug = True
import couponmonk_project.views

views.py

from couponmonk_project import app

@app.route('/', methods = ['GET'])
def index():
    return 'Flask is running!'

当我跑步时:

gunicorn __init__:app -b localhost:8000

从文件夹/home/giri/couponmonk_project

我得到错误:

ImportError: No module named couponmonk_project.views

我尝试添加:

import sys
sys.path.append("/home/giri/couponmonk_project")

到我的__init__.py文件,但仍然出现相同的错误。

即使这样做有效,是否将sys.path追加为执行此操作的正确方法?

我已经读到,追加到sysPYTHONPATH可能不是解决此问题的最佳方法。

如以上注释中所述,您具有循环依赖关系。 为了避免这种情况,您应该将当前的couponmonk_project为模块,该模块将由另一个python脚本运行。 根据Flask文档,您的项目应如下所示:

/home/giri/couponmonk_project
    __init__.py
    /home/giri/couponmonk_project/couponmonk_project
    __init__.py
    views.py

内部文件夹couponmonk_project是您当前的项目,而外部文件夹couponmonk_project是新项目。 因此,文件/home/giri/couponmonk_project/__init__.py应该类似于:

from couponmonk_project import app
import couponmonk_project.views

app.run()

并且您的文件/home/giri/couponmonk_project/coupon_monk/project__init__.py是:

from flask import Flask

app = Flask(__name__)
app.debug = True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM