В чем причина ошибки AttributeError: partially initialized module ... (most likely due to a circular import)?
полный трейс ошибки
test-task-for-victory-api-1 | Traceback (most recent call last):
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
test-task-for-victory-api-1 | return _run_code(code, main_globals, None,
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
test-task-for-victory-api-1 | exec(code, run_globals)
test-task-for-victory-api-1 | File "/app/victory/__main__.py", line 1, in <module>
test-task-for-victory-api-1 | import uvicorn
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/uvicorn/__init__.py", line 1, in <module>
test-task-for-victory-api-1 | from uvicorn.config import Config
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/uvicorn/config.py", line 1, in <module>
test-task-for-victory-api-1 | import asyncio
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/asyncio/__init__.py", line 8, in <module>
test-task-for-victory-api-1 | from .base_events import *
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/asyncio/base_events.py", line 18, in <module>
test-task-for-victory-api-1 | import concurrent.futures
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/concurrent/futures/__init__.py", line 8, in <module>
test-task-for-victory-api-1 | from concurrent.futures._base import (FIRST_COMPLETED,
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/concurrent/futures/_base.py", line 7, in <module>
test-task-for-victory-api-1 | import logging
test-task-for-victory-api-1 | File "/app/victory/logging.py", line 5, in <module>
test-task-for-victory-api-1 | from loguru import logger
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/loguru/__init__.py", line 10, in <module>
test-task-for-victory-api-1 | from ._logger import Core as _Core
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/loguru/_logger.py", line 88, in <module>
test-task-for-victory-api-1 | from . import _asyncio_loop, _colorama, _defaults, _filters
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/loguru/_asyncio_loop.py", line 27, in <module>
test-task-for-victory-api-1 | get_task_loop, get_running_loop = load_loop_functions()
test-task-for-victory-api-1 | File "/usr/local/lib/python3.9/site-packages/loguru/_asyncio_loop.py", line 11, in load_loop_functions
test-task-for-victory-api-1 | get_running_loop = asyncio.get_running_loop
test-task-for-victory-api-1 | AttributeError: partially initialized module 'asyncio' has no attribute 'get_running_loop' (most likely due to a circular import)
docker file
FROM python:3.9.6-slim-buster
RUN apt-get update && apt-get install -y \
gcc libturbojpeg0 \
&& rm -rf /var/lib/apt/lists/*
RUN pip install poetry
# Configuring poetry
RUN poetry config virtualenvs.create false
RUN mkdir /app
# Copying requirements of a project
COPY pyproject.toml poetry.lock /app/
WORKDIR /app/
# Installing requirements
RUN poetry install
# Removing gcc
RUN apt-get purge -y \
gcc \
&& rm -rf /var/lib/apt/lists/*
# Copying actually application
COPY . .
CMD python migrate.py && python victory
файл запуска
import uvicorn
from victory.settings import settings
def main() -> None:
"""Entrypoint of the application."""
uvicorn.run(
"victory.web.application:get_app",
workers=settings.workers_count,
host=settings.host,
port=settings.port,
reload=settings.reload,
log_level=settings.log_level.value.lower(),
factory=True,
)
if __name__ == "__main__":
main()
локально все работает