简体   繁体   English

Python/Flask ImportError:尝试在没有已知父包的情况下进行相对导入

[英]Python/Flask ImportError: attempted relative import with no known parent package

I keep running into this ImportError in my Flask app not really understanding why it's happening:我一直在我的 Flask 应用程序中ImportError这个ImportError并没有真正理解它为什么会发生:

server      | Traceback (most recent call last):
server      |   File "/app/app.py", line 9, in <module>
server      |     from .models import db, Properties, Usage
server      | ImportError: attempted relative import with no known parent package

In app.py I have the following:app.py我有以下内容:

from .models, import db
from . import config

APP = flask.Flask(__name__)
cors = CORS(APP)

APP.config['SQLALCHEMY_DATABASE_URI'] = config.DATABASE_CONNECTION_URI
APP.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
APP.app_context().push()
db.init_app(APP)
db.create_all()

Where my file tree looks like:我的文件树看起来像:

|- server
   |
   |- app.py
   |- config.py
   |- models.py

config.py looks like: config.py看起来像:

import os

user = os.environ['POSTGRES_USER']
password = os.environ['POSTGRES_PASSWORD']
host = os.environ['POSTGRES_HOST']
database = os.environ['POSTGRES_DB']
port = os.environ['POSTGRES_PORT']

DATABASE_CONNECTION_URI = f'postgresql+psycopg2://{user}:{password}@{host}:{port}/{database}'

What should I do to fix this?我该怎么做才能解决这个问题?

EDIT: forgot to mention, I'm using a docker-compose.yml file to build my database (as well as the rest of my application):编辑:忘了提及,我正在使用docker-compose.yml文件来构建我的数据库(以及我的应用程序的其余部分):

version: "3.9"
services:
    server:
        container_name: server
        build: ./server
        ports:
            - "80:5000"
        volumes:
            - ./server:/app
        environment:
            FLASK_ENV: development
        env_file: 
            - ./.env
    web:
        build: ./app
        ports:
            - "3000:3000"
        volumes:
            - ./app:/user/src/app
        depends_on: 
            - server
    database:
        container_name: postgres
        image: postgres:latest
        env_file: ./server/database.conf
        ports:
            - 5432:5432
        volumes:
            - db_volume:/var/lib/postgresql

volumes:
    db_volume:

A simple mistake: It will be:一个简单的错误:它将是:

from models import db
import config
APP = flask.Flask(__name__)
cors = CORS(APP)
APP.config['SQLALCHEMY_DATABASE_URI'] = config.DATABASE_CONNECTION_URI
APP.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
APP.app_context().push()
db.init_app(APP)
db.create_all()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Flask - ImportError: 尝试在没有已知父 package 的情况下进行相对导入 - Flask - ImportError: attempted relative import with no known parent package PyCharm 上的 Flask - ImportError:尝试在没有已知父包的情况下进行相对导入 - Flask on PyCharm - ImportError: attempted relative import with no known parent package Flask 应用程序导入错误:尝试在没有已知父包的情况下进行相对导入 - Flask app ImportError: attempted relative import with no known parent package ImportError:尝试在 flask 中没有已知父 package 的相对导入 - ImportError: attempted relative import with no known parent package in flask 导入错误:尝试在没有已知父包的情况下进行相对导入? - ImportError: attempted relative import with no known parent package? ImportError:尝试在没有已知父 package 的情况下进行相对导入:( - ImportError: attempted relative import with no known parent package :( ImportError:尝试相对导入,没有已知的父包 - ImportError: attempted relative import with no known parent package 导入错误 - 在没有已知父包的情况下尝试相对导入 - ImportError - attempted relative import with no known parent package ImportError:尝试在没有已知父项的情况下进行相对导入 package [重复] - ImportError : Attempted relative import with no known parent package [duplicate] Python3 ImportError:尝试在没有已知父项的情况下进行相对导入 package - Python3 ImportError: attempted relative import with no known parent package
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM