ImportError:__ init__.py文件中没有名为...的模块

时间:2015-06-16 10:31:49

标签: python flask python-import

我的项目结构是:

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

__初始化__。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可能不是解决此问题的最佳方法。

1 个答案:

答案 0 :(得分:3)

正如上面的评论所述,你有一个循环依赖。为避免这种情况,您应该将当前的com.test.name=...作为模块,该模块将由另一个python脚本运行。根据{{​​3}}你的项目应该是这样的:

couponmonk_project

其中内部文件夹/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