[Solved] Flask – ImportError: No module named app

First I created __init__.py

from flask import Flask

app = Flask(__name__)

Then in a separate file, in the same directory, run.py

from app import app 

app.run(
    debug = True
)

When I try to run run.py, I get the error

Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from app import app 
ImportError: No module named app
Enquirer: onepiece

||

Solution #1:

__init__.py is imported using a directory. if you want to import it as app you should put __init__.py file in directory named app

a better option is just to rename __init__.py to app.py

Respondent: Elisha

Solution #2:

This is probably an error in flask application’s folder structure.
Anyone looking for a simple beginner-friendly structure for the flask project may find this helpful:

   |__movies 
     |__run.py 
     |__app     
        ??? templates
        ?   ??? index.html
        ?   ??? signup.html
        ??? __init__.py
        ??? routes.py

Here ‘movies‘ is the name given for the main application. It contains ‘run.py‘ and a folder called ‘app‘.
app‘ folder contains all necessary flask files such as ‘templates‘ folder, ‘__init __.py‘, and ‘routes.py‘.

Contents of:

run.py:

from app import app

__init__.py:

from flask import Flask

app = Flask(__name__)

from app import routes


app.run(debug=True)

routes.py:

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"
Respondent: Nuhman

Solution #3:

Your __init__.py file needs to go in the folder named app, not the same directory as the run.py file.

from app import app is looking in the app folder, so the __init__.py file needs to sit in there.

Respondent: Takeshi Patterson

Solution #4:

Ensure to set your PYTHONPATH to the src/ directory as well. Example
export PYTHONPATH="$PYTHONPATH:/path/to/your/src"

Respondent: ckjavi70

Solution #5:

Just rename your file to app.py and it will works.

Respondent: joepadz

Solution #6:

For me, export PYTHONPATH=/path/to/your/src && python app/main.py works

Respondent: Jianping Ding

Solution #7:

I solved this as follows –

$export FLASK_APP=run

$flask run

After executing this command. I don’t get any error, my app running smoothly.

Respondent: Parag Kulkarni

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.