Ошибки импорта для пользовательских приложений Django в XBlock Development на OpenEdX Palm Version

У меня проблемы с импортом пользовательских приложений Django в Open edX XBlock. Несмотря на то, что приложение Django установлено в среде Open edX, я сталкиваюсь с ошибками.

Пользовательское приложение Django video_rating установлено и прекрасно работает в этой среде.

onlineoffline - это мой XBlock.

2024-07-22 10:43:36,866 WARNING 32 [xblock.plugin] [user None] [ip None] plugin.py:144 - Unable to load XBlock 'onlineoffline' Traceback (последний последний вызов): Файл "/openedx/venv/lib/python3.8/site-packages/xblock/plugin.py", строка 141, in load_classes yield (class_.name, cls.load_class_entry_point(class)) Файл "/openedx/venv/lib/python3.8/site-packages/xblock/plugin.py", строка 70, in load_class_entry_point class = entry_point.load() Файл "/openedx/venv/lib/python3.8/site-packages/pkg_resources/init.py", строка 2517, in load return self.resolve() Файл "/openedx/venv/lib/python3.8/site-packages/pkg_resources/init.py", строка 2523, in resolve module = import(self.module_name, fromlist=['name'], level=0) Файл "/openedx/venv/lib/python3.8/site-packages/onlineoffline/init.py", строка 1, in from .onlineoffline import OnlineOfflineClassXBlock Файл "/openedx/venv/lib/python3.8/site-packages/onlineoffline/onlineoffline.py", строка 4, in from openedx.features.video_rating.models import UserFeedbackSave,Questions,Type,Ratings ModuleNotFoundError: Нет модуля с именем 'openedx.features.video_rating'

Чтобы решить проблему с установкой XBlock в Open edX, выполните следующие действия:

  1. Скопируйте папку LMS requirements из контейнера на ваш хост-сервер:

    tutor local copyfrom lms /openedx/requirements /home/ubuntu/Palm/volumes/requirements
    
  2. Создайте docker-compose.override.yml файл для переопределения томов по умолчанию:

    touch $TUTOR_ROOT/env/local/docker-compose.override.yml
    
  3. Добавьте следующее содержимое в файл docker-compose.override.yml для монтирования папки requirements:

    version: "3.7"
    services:
      lms:
        volumes:
          - /home/ubuntu/Palm/volumes/requirements:/openedx/requirements
      cms:
        volumes:
          - /home/ubuntu/Palm/volumes/requirements:/openedx/requirements
    
  4. Перезапустите среду Tutor с помощью:

    tutor local stop
    tutor local start -d
    
  5. Создайте private.txt файл в смонтированной папке requirements:

    /home/ubuntu/Palm/volumes/requirements/private.txt
    
  6. Добавьте сведения об установке XBlock в private.txt файл:

    git+https://<git_access_token>@github.com/admin/xblock.git@<branch_name>
    
  7. Пересоберите и запустите среду Tutor:

    tutor local build
    tutor local launch
    
  8. Если XBlock все еще не установлен, вы можете вручную установить его внутри контейнера LMS:

    tutor local exec lms bash
    pip install -r /openedx/requirements/private.txt
    

Эти шаги помогут вам успешно установить XBlock и устранить любые связанные с ним ошибки.

Вернуться на верх