Sunday, 26 September 2021

Import error when restructuring test application using Flask

I've been following the instructions on the following site:

https://flask.palletsprojects.com/en/2.0.x/patterns/packages/

I've been getting the following error:

web_1  | Error: While importing 'passless', an ImportError was raised:
web_1  |
web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.9/site-packages/flask/cli.py", line 256, in locate_app
web_1  |     __import__(module_name)
web_1  |   File "/app/passless/__init__.py", line 4, in <module>
web_1  |     import passless.views
web_1  | ModuleNotFoundError: No module named 'passless.views'

setup.py

from setuptools import setup

setup(
    name='passless',
    packages=['passless'],
    include_package_data=True,
    install_requires=[
        'flask',
    ],
)

__init__.py

from flask import Flask
app = Flask(__name__)

import passless.views

docker-compose.yaml

version: "3"
services:
  web:
    build: .
    image: passless
    environment:
      FLASK_DEBUG: 1
      FLASK_APP: passless
      FLASK_ENV: development
    ports: ['5001:5000']
    volumes: ['.:/app']

Here is the directory structure I am using:

/yourapplication
    setup.py
    /yourapplication
        __init__.py
        index.py
        /static
            style.css
        /templates
            layout.html
            index.html
            login.html

Dockerfile:

# syntax=docker/dockerfile:1

FROM python:3.9-slim-buster

WORKDIR /app

COPY . .

RUN pip3 install -e .

CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]


from Import error when restructuring test application using Flask

No comments:

Post a Comment