我一直按照以下网站上的说明进行操作:
https://flask.palletsprojects.com/en/2.0.x/patterns/packages/
我收到以下错误:
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'
Run Code Online (Sandbox Code Playgroud)
安装程序.py
from setuptools import setup
setup(
name='passless',
packages=['passless'],
include_package_data=True,
install_requires=[
'flask',
],
)
Run Code Online (Sandbox Code Playgroud)
__init__.py
from flask import Flask
app = Flask(__name__)
import passless.views
Run Code Online (Sandbox Code Playgroud)
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']
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的目录结构:
/passless
setup.py
/passless
__init__.py
index.py
/static
style.css
/templates
layout.html
index.html
login.html
Run Code Online (Sandbox Code Playgroud)
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"]
Run Code Online (Sandbox Code Playgroud)
将index.py重命名为(或添加)views.py:
from passless import app
@app.route('/')
def index():
return 'Hello World!'
Run Code Online (Sandbox Code Playgroud)
目录结构:
/passless
docker-compose.yaml
Dockerfile
setup.py
/passless
__init__.py
- index.py
+ views.py
Run Code Online (Sandbox Code Playgroud)