Ошибки импорта для пользовательских приложений 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, выполните следующие действия:
Скопируйте папку LMS requirements из контейнера на ваш хост-сервер:
tutor local copyfrom lms /openedx/requirements /home/ubuntu/Palm/volumes/requirements
Создайте
docker-compose.override.yml
файл для переопределения томов по умолчанию:touch $TUTOR_ROOT/env/local/docker-compose.override.yml
Добавьте следующее содержимое в файл
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
Перезапустите среду Tutor с помощью:
tutor local stop tutor local start -d
Создайте
private.txt
файл в смонтированной папке requirements:/home/ubuntu/Palm/volumes/requirements/private.txt
Добавьте сведения об установке XBlock в
private.txt
файл:git+https://<git_access_token>@github.com/admin/xblock.git@<branch_name>
Пересоберите и запустите среду Tutor:
tutor local build tutor local launch
Если XBlock все еще не установлен, вы можете вручную установить его внутри контейнера LMS:
tutor local exec lms bash pip install -r /openedx/requirements/private.txt
Эти шаги помогут вам успешно установить XBlock и устранить любые связанные с ним ошибки.