Issue with the Figures pluggin

Hi @regis

I installed and enabled the figures pluggin, as described here https://pypi.org/project/tutor-figures/ but when I type mylms/figures, I get this error

I am running Python 2.7.17. I probably need to upgrade to Python 3. If this is the case, would you please outline the commands. Thank you! I don’t want to take any chances messing up with the tutor instance.

Cheers.

Can you please post here the logs of the LMS right after triggering the error? To get those logs, run: tutor local logs --tail=100 lms.

Here it is @regis… thanks

docker-compose -f /home/ubuntu/.local/share/tutor/env/local/docker-compose.yml - -project-name tutor_local logs --tail 100 lms
Attaching to tutor_local_lms_1
lms_1 | return self.render_tag(context, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/sek izai/templatetags/sekizai_tags.py”, line 93, in render_tag
lms_1 | rendered_contents = nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/loader_tags.py”, line 72, in render
lms_1 | result = block.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/library.py”, line 203, in render
lms_1 | output = self.func(*resolved_args, **resolved_kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/templatetags/webpack_loader.py”, line 12, in render_bundle
lms_1 | tags = utils.get_as_tags(bundle_name, extension=extensi on, config=config, attrs=attrs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/utils.py”, line 45, in get_as_tags
lms_1 | bundle = _get_bundle(bundle_name, extension, config)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/utils.py”, line 23, in _get_bundle
lms_1 | bundle = get_loader(config).get_bundle(bundle_name)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 60, in get_bundle
lms_1 | assets = self.get_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 37, in get_assets
lms_1 | self._assets[self.name] = self._load_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 32, in _load_assets
lms_1 | self.config[‘STATS_FILE’]))
lms_1 | IOError: Error reading /openedx/venv/local/lib/python2.7/si te-packages/figures/webpack-stats.json. Are you sure webpack has generated the f ile and the path is correct?
lms_1 | 2020-05-11 20:56:51,857 ERROR 85 [django.request] exception .py:135 - Internal Server Error: /figures/
lms_1 | Traceback (most recent call last):
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/core/handlers/exception.py”, line 41, in inner
lms_1 | response = get_response(request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/core/handlers/base.py”, line 249, in _legacy_get_response
lms_1 | response = self._get_response(request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/core/handlers/base.py”, line 187, in _get_response
lms_1 | response = self.process_exception_by_middleware(e, requ est)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/core/handlers/base.py”, line 185, in _get_response
lms_1 | response = wrapped_callback(request, *callback_args, ** callback_kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/utils/decorators.py”, line 185, in inner
lms_1 | return func(*args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/utils/decorators.py”, line 149, in _wrapped_view
lms_1 | response = view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/contrib/auth/decorators.py”, line 23, in _wrapped_view
lms_1 | return view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/contrib/auth/decorators.py”, line 23, in _wrapped_view
lms_1 | return view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/fig ures/views.py”, line 113, in figures_home
lms_1 | return render(request, ‘figures/index.html’, context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/shortcuts.py”, line 30, in render
lms_1 | content = loader.render_to_string(template_name, contex t, request, using=using)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/loader.py”, line 68, in render_to_string
lms_1 | return template.render(context, request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/backends/django.py”, line 66, in render
lms_1 | return self.template.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 207, in render
lms_1 | return self._render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 199, in _render
lms_1 | return self.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/loader_tags.py”, line 177, in render
lms_1 | return compiled_parent._render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 199, in _render
lms_1 | return self.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/cla ssytags/core.py”, line 153, in render
lms_1 | return self.render_tag(context, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/sek izai/templatetags/sekizai_tags.py”, line 93, in render_tag
lms_1 | rendered_contents = nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/loader_tags.py”, line 72, in render
lms_1 | result = block.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/dja ngo/template/library.py”, line 203, in render
lms_1 | output = self.func(*resolved_args, **resolved_kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/templatetags/webpack_loader.py”, line 12, in render_bundle
lms_1 | tags = utils.get_as_tags(bundle_name, extension=extensi on, config=config, attrs=attrs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/utils.py”, line 45, in get_as_tags
lms_1 | bundle = _get_bundle(bundle_name, extension, config)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/utils.py”, line 23, in _get_bundle
lms_1 | bundle = get_loader(config).get_bundle(bundle_name)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 60, in get_bundle
lms_1 | assets = self.get_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 37, in get_assets
lms_1 | self._assets[self.name] = self._load_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/web pack_loader/loader.py”, line 32, in _load_assets
lms_1 | self.config[‘STATS_FILE’]))
lms_1 | IOError: Error reading /openedx/venv/local/lib/python2.7/si te-packages/figures/webpack-stats.json. Are you sure webpack has generated the f ile and the path is correct?
lms_1 | 208.111.92.155 - - [11/May/2020:20:56:52 +0000] “GET /figur es/ HTTP/1.0” 500 14129 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK it/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36”

What version of tutor and of the plugin are you running?

Here it is @regis

tutor, version 3.12.3
figures==0.2.1

Thanks


This issue was fixed in 0.2.2, please upgrade your plugin.

Hi @regis

Thanks for the follow up

I run pip3 install --upgrade tutor-openedx tutor-figures
tutor local quickstart

Then, same error…

Here the log


docker-compose -f /home/ubuntu/.local/share/tutor/env/local/docker-compose.yml --project-name tutor_local logs – tail 100 lms
Attaching to tutor_local_lms_1
lms_1 | return self.render_tag(context, **kwargs)
lms_1 | File "/openedx/venv/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py “, line 93, in render_tag
lms_1 | rendered_contents = nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py”, lin e 72, in render
lms_1 | result = block.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/library.py”, line 20 3, in render
lms_1 | output = self.func(*resolved_args, **resolved_kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/templatetags/webpack_ loader.py”, line 12, in render_bundle
lms_1 | tags = utils.get_as_tags(bundle_name, extension=extension, config=config, attrs=attrs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/utils.py”, line 45, i n get_as_tags
lms_1 | bundle = _get_bundle(bundle_name, extension, config)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/utils.py”, line 23, i n _get_bundle
lms_1 | bundle = get_loader(config).get_bundle(bundle_name)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 60, in get_bundle
lms_1 | assets = self.get_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 37, in get_assets
lms_1 | self._assets[self.name] = self._load_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 32, in _load_assets
lms_1 | self.config[‘STATS_FILE’]))
lms_1 | IOError: Error reading /openedx/venv/local/lib/python2.7/site-packages/figures/webpack-stats .json. Are you sure webpack has generated the file and the path is correct?
lms_1 | 2020-05-12 15:15:37,324 ERROR 135 [django.request] exception.py:135 - Internal Server Error: /figures/
lms_1 | Traceback (most recent call last):
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py”, line 41, in inner
lms_1 | response = get_response(request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py”, line 249, in _legacy_get_response
lms_1 | response = self._get_response(request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py”, line 187, in _get_response
lms_1 | response = self.process_exception_by_middleware(e, request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py”, line 185, in _get_response
lms_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/utils/decorators.py”, line 18 5, in inner
lms_1 | return func(*args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/utils/decorators.py”, line 14 9, in _wrapped_view
lms_1 | response = view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py”, line 23, in _wrapped_view
lms_1 | return view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py”, line 23, in _wrapped_view
lms_1 | return view_func(request, *args, **kwargs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/figures/views.py”, line 113, in figu res_home
lms_1 | return render(request, ‘figures/index.html’, context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/shortcuts.py”, line 30, in re nder
lms_1 | content = loader.render_to_string(template_name, context, request, using=using)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/loader.py”, line 68, in render_to_string
lms_1 | return template.render(context, request)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/backends/django.py”, line 66, in render
lms_1 | return self.template.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 207, in render
lms_1 | return self._render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 199, in _render
lms_1 | return self.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py”, lin e 177, in render
lms_1 | return compiled_parent._render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 199, in render
lms_1 | return self.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/classytags/core.py”, line 153, in re nder
lms_1 | return self.render_tag(context, **kwargs)
lms_1 | File "/openedx/venv/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py ", line 93, in render_tag
lms_1 | rendered_contents = nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py”, lin e 72, in render
lms_1 | result = block.nodelist.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 990, in render
lms_1 | bit = node.render_annotated(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/base.py”, line 957, in render_annotated
lms_1 | return self.render(context)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/django/template/library.py”, line 20 3, in render
lms_1 | output = self.func(*resolved_args, **resolved_kwargs)
lms_1 | File "/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/templatetags/webpack
loader.py”, line 12, in render_bundle
lms_1 | tags = utils.get_as_tags(bundle_name, extension=extension, config=config, attrs=attrs)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/utils.py”, line 45, i n get_as_tags
lms_1 | bundle = _get_bundle(bundle_name, extension, config)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/utils.py”, line 23, i n _get_bundle
lms_1 | bundle = get_loader(config).get_bundle(bundle_name)
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 60, in get_bundle
lms_1 | assets = self.get_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 37, in get_assets
lms_1 | self._assets[self.name] = self._load_assets()
lms_1 | File “/openedx/venv/local/lib/python2.7/site-packages/webpack_loader/loader.py”, line 32, in _load_assets
lms_1 | self.config[‘STATS_FILE’]))
lms_1 | IOError: Error reading /openedx/venv/local/lib/python2.7/site-packages/figures/webpack-stats .json. Are you sure webpack has generated the file and the path is correct?
lms_1 | 208.111.92.155 - - [12/May/2020:15:15:37 +0000] “GET /figures/ HTTP/1.0” 500 14129 “-” “Mozi lla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36”


Thank you

Hi, you have to build assets once again which copies figures static assets to openedx assets, and then do a tutor local quickstart

take a look at this also

@bvenkatr @regis

Thank you. Works like a charm!

1 Like

Hi, How did you build assets? I have followed a different approach like building openedx images.

tutor images build openedx

then

tutor local quickstart

2 Likes