Форум программистов, компьютерный форум, киберфорум
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. Показов 6582. Ответов 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
5906 / 3358 / 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
5906 / 3358 / 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
5906 / 3358 / 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
5906 / 3358 / 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru