簡體   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