Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141

No module named 'api_yamdb.wsgi'

15.07.2022, 22:25. Показов 6728. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При деплое проекта контейнер web падает с ошибкой No module named 'api_yamdb.wsgi'. Памагите!)

Dockerfile:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Создать образ на основе базового слоя python (там будет ОС и интерпретатор Python).
# 3.7 — используемая версия Python.
# slim — обозначение того, что образ имеет только необходимые компоненты для запуска,
# он не будет занимать много места при развёртывании.
FROM python:3.7-slim
 
WORKDIR /app/
 
# Скопировать с локального компьютера файл зависимостей
# в директорию /app.
COPY . .
 
# Выполнить установку зависимостей внутри контейнера.
RUN pip3 install -r requirements.txt --no-cache-dir
 
# Выполнить запуск сервера разработки при старте контейнера.
CMD ["gunicorn", "api_yamdb.wsgi:application", "--bind", "0:8000" ]
Workflow:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: Django-app workflow
 
on: [push]
 
jobs:
  tests:
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: 3.7
      
    - name: Install dependecies
      run: |
        python -m pip install --upgrade pip
        pip install flake8 pep8-naming flake8-broken-line flake8-return flake8-isort
        pip install -r api_yamdb/requirements.txt
    
    - name: Test with flake8 and django tests
      run: |
        python -m flake8
        python -m pytest
  build_and_push_to_docker_hub:
    name: Push Docker image to Docker Hub
    runs-on: ubuntu-latest
    needs: tests
    steps:
      - name: Check out the repo
        uses: actions/checkout@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      - name: Login to Docker
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USER }}
          password: ${{ secrets.DOCKER_PASS }}
      - name: Push to Docker Hub
        uses: docker/build-push-action@v2
        with:
          context: ./api_yamdb
          # file: ./api_yamdb/Dockerfile
          push: true
          tags: konstantin05/yamdb_final:latest
  deploy:
    runs-on: ubuntu-latest
    needs: build_and_push_to_docker_hub
    steps:
    - name: executing remote ssh commands to deploy
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USER }}
        key: ${{ secrets.SSH_KEY }}
        passphrase: ${{ secrets.PASSPHRASE }}
        script: |
          sudo docker-compose stop
          sudo docker-compose rm web
          touch .env
          echo DB_ENGINE=${{ secrets.DB_ENGINE }} >> .env
          echo DB_NAME=${{ secrets.DB_NAME }} >> .env
          echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env
          echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env
          echo DB_HOST=${{ secrets.DB_HOST }} >> .env
          echo DB_PORT=${{ secrets.DB_PORT }} >> .env
          sudo docker-compose up -d
          # sudo docker-compose exec -T web python ./api_yamdb/manage.py makemigrations
          # sudo docker-compose exec -T web python ./api_yamdb/manage.py migrate
          # sudo docker-compose exec -T web python ./api_yamdb/manage.py createsuperuser
          # sudo docker-compose exec -T web python ./api_yamdb/manage.py collectstatic --no-input
  send_message:
    runs-on: ubuntu-latest
    needs: deploy
    steps:
    - name: send message
      uses: appleboy/telegram-action@master
      with:
        to: ${{ secrets.TELEGRAM_TO }}
        token: ${{ secrets.TELEGRAM_TOKEN }}
        message: ${{ github.workflow }} успешно выполнен!
docker-compose:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# версия docker-compose
version: '3.8'
 
# имена и описания контейнеров, которые должны быть развёрнуты
services:
  # описание контейнера db
  db:
    # образ, из которого должен быть запущен контейнер
    image: postgres:13.0-alpine
    # volume и связанная с ним директория в контейнере
    volumes:
      - /var/lib/postgresql/data/
    # адрес файла, где хранятся переменные окружения
    env_file:
      - ./.env
  web:
    image: konstantin05/yamdb_final:latest
    restart: always
    volumes:
      - static_value:/app/static/
      - media_value:/app/media/
    # "зависит от", 
    depends_on:
      - db
    env_file:
      - ./.env 
  nginx:
    # образ, из которого должен быть запущен контейнер
    image: nginx:1.21.3-alpine
 
    # запросы с внешнего порта 80 перенаправляем на внутренний порт 80
    ports:
      - "80:80"
 
    volumes:
      # При сборке скопировать созданный конфиг nginx из исходной директории 
      # в контейнер и сохранить его в директорию /etc/nginx/conf.d/
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
 
      # Контейнер nginx будет работать с данными, хранящиеся в томе static_value, 
      # через свою директорию /var/html/static/
      - static_value:/var/html/static/
 
      # Данные, хранящиеся в томе media_value, будут доступны в контейнере nginx
      # через директорию /var/html/media/
      - media_value:/var/html/media/
 
    depends_on:
      # Контейнер nginx должен быть запущен после контейнера web
      - web
volumes:
  db:
  static_value:
  media_value:
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2022, 22:25
Ответы с готовыми решениями:

No module named 'bootstrap4'
пытаюсь освоить Django (по Эрику Мэтизу). Нужно использовать bootstrap. Из виртуальной среды пишу (ll_env)...

No module named '_sqlite3'
Привет. Только сегодня установил Django(3.0) на Ubuntu 19.04 и сталкивался с несколькими проблемами одна из связанна с "не находит...

ModuleNotFoundError: No module named 'MainApp'
Здравствуйте, при создании миграции возникает ошибка: Traceback (most recent call last): File...

10
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.07.2022, 00:18
есть это где-то в гитхабе, чтобы не гадать?

Добавлено через 12 минут
пока что у меня вопрос такой, - когда вы копируете файлы
COPY . .
что именно записывается в /app/, какие папки, какие файлы?
0
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
16.07.2022, 10:43  [ТС]
https://github.com/Konstantin8891/yamdb_final/
COPY . .
что именно записывается в /app/, какие папки, какие файлы?
должно копироваться содержимое папки проекта api_yamdb
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.07.2022, 14:52
ок, то есть проблема именно с билдом/деплоем через github actions, потому что у меня локально образ поднялся

Добавлено через 1 минуту
или я просто слишком поздно проснулся и уже все работает?
0
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
16.07.2022, 14:56  [ТС]
проблема решена. Оказалось что сервер не подтягивал образ с докерхаба
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.07.2022, 14:59
Цитата Сообщение от The_KKK Посмотреть сообщение
Оказалось что сервер не подтягивал образ с докерхаба
если не было образа, я ожидал бы видеть другую ошибку,

Цитата Сообщение от The_KKK Посмотреть сообщение
При деплое проекта контейнер web падает с ошибкой No module named 'api_yamdb.wsgi'.
эта ошибка намекает, что образ был, но не запускался

Так или иначе, рад, что у Вас все починилось.
0
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
16.07.2022, 15:35  [ТС]
образ был, но всегда один и тот же. контейнер не останавливался, образ не удалялся. Я ещё думаю, странно, что что бы я не менял, результат один и тот же.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.07.2022, 15:56
Ааа, это как ситуация, когда код меняешь и запускаешь не сохранив, только технологичнее
1
0 / 0 / 0
Регистрация: 09.06.2020
Сообщений: 2
22.08.2022, 20:55
Можно подробнее, как исправили ошибку?

Добавлено через 2 минуты
The_KKK, можно подробнее, как исправили ошибку? (No module named 'api_yamdb.wsgi')
0
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
22.08.2022, 21:37  [ТС]
насколько помню остановил запущенные контейнеры и удалил. но это не точно
0
0 / 0 / 0
Регистрация: 09.06.2020
Сообщений: 2
22.08.2022, 21:47
Спасибо, попробую

Добавлено через 2 минуты
Погоди, разве эти команды этого не делают?

sudo docker-compose stop
sudo docker-compose rm web

Добавлено через 4 минуты
The_KKK, надо именно все 3 контейнера удалить этой командой?



sudo docker-compose rm
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2022, 21:47
Помогаю со студенческими работами здесь

ModuleNotFoundError: No module named 'requests'
Всем привет! Есть приложение на django (windows+iis+wfastcgi+venv), которое с помощью subprocess.run() запускает внешний скрипт. Путь к...

При импорте получаю ModuleNotFoundError: No module named 'django'
images у меня сделан как приложение для повторного использования. Соответственно, мне понадобились в каком-то приложении константы и...

Ошибка при запуске сервера no module named crispy-forms
Всем привет. Учусь по видео itProgera/ Собственно столкнулся с такой проблемой При установке модуля crispy-forms прописал...

No module named 'telepot'
Здравствуйте, как подключить библиотеку telepot? написала в командной строке: pip install telepot pip install telepot --upgrade вроде...

No module named 'telepot'
Установил модуль telepot : sudo pip install telepot sudo pip install telepot --upgrade Написал программу, в первой строке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru