# FeedbackXBlock 2.0.0 not compatible with Quince

**URL:** https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655
**Category:** Development
**Created:** [August 13, 2024, 4:54pm UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655 "2024-08-13T16:54:42Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![WillEVTdigital](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/willevtdigital/32/6667_2.png) [@WillEVTdigital](https://discuss.openedx.org/u/WillEVTdigital)
#### Post date: [August 13, 2024, 4:54pm UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655/1 "2024-08-13T16:54:42Z")

</div>

The feedback xblock version 2.0.0 update includes a [transition from pkg\_resources API to importlib-resources API](https://github.com/openedx/FeedbackXBlock/commit/0e65692fc3ef3925cfdd80a646db8d3be142d714).

Unfortunately the files function was introduced in [Python 3.9](https://docs.python.org/3/library/importlib.resources.html#importlib.resources.files)

Using Tutor 17.0.4 to build the Open edX image (quince.3) produces the following error when trying to access the feedback in a course, instructor dashboard, or Studio.

```auto
lms-1 | Traceback (most recent call last):
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
lms-1 | response = get_response(request)
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
lms-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
lms-1 | File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
lms-1 | return func(*args, **kwds)
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
lms-1 | response = view_func(request, *args, **kwargs)
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 40, in _cache_controlled
lms-1 | response = viewfunc(request, *args, **kw)
lms-1 | File "/openedx/edx-platform/./lms/djangoapps/instructor/views/instructor_dashboard.py", line 269, in instructor_dashboard_2
lms-1 | context, instructor_template = InstructorDashboardRenderStarted.run_filter(
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/openedx_filters/learning/filters.py", line 702, in run_filter
lms-1 | data = super().run_pipeline(context=context, template_name=template_name)
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/openedx_filters/tooling.py", line 217, in run_pipeline
lms-1 | result = step_runner.run_filter(**accumulated_output)
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/feedback/extensions/filters.py", line 47, in run_filter
lms-1 | self.resource_string(f"static/html/{TEMPLATE_CATEGORY}.html")
lms-1 | File "/openedx/venv/lib/python3.8/site-packages/feedback/extensions/filters.py", line 78, in resource_string
lms-1 | return importlib.resources.files("feedback").joinpath(path).read_text(encoding="utf-8")
lms-1 | AttributeError: module 'importlib.resources' has no attribute 'files'

```

Is there a way I can pin the version that gets installed to 1.6.0?

---

<div class="post-metadata">

### Author: ![WillEVTdigital](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/willevtdigital/32/6667_2.png) [@WillEVTdigital](https://discuss.openedx.org/u/WillEVTdigital)
#### Post date: [August 14, 2024, 11:24am UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655/2 "2024-08-14T11:24:56Z")

</div>

@farhan can I get your advice?

---

<div class="post-metadata">

### Author: ![Anh\_Vu\_Nguy\_n](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/anh_vu_nguy_n/32/1740_2.png) [@Anh\_Vu\_Nguy\_n](https://discuss.openedx.org/u/Anh_Vu_Nguy_n)
#### Post date: [August 14, 2024, 2:35pm UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655/3 "2024-08-14T14:35:52Z")

</div>

@WillEVTdigital how did you install the xblock? did you run pip install or did you use a plugin?

---

<div class="post-metadata">

### Author: ![farhan](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/farhan/32/5927_2.png) [@farhan](https://discuss.openedx.org/u/farhan)
#### Post date: [August 14, 2024, 2:50pm UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655/4 "2024-08-14T14:50:14Z")

</div>

@WillEVTdigital We have dropped the support of Python 3.8 from v2.0.0 of FeedbackXBlock. v2.0.0 and above shouldn’t be installed on Python3.8 environment.  
References:

> **[Release v2.0.0 · openedx/FeedbackXBlock](https://github.com/openedx/FeedbackXBlock/releases/tag/v2.0.0)**
>
> What's Changed
> 
> Python Requirements Update by @edx-requirements-bot in #82
> Python Requirements Update by @edx-requirements-bot in #86
> fix: dependabot path by @irtazaakram in #88
> Python Requirements...

> <https://github.com/openedx/FeedbackXBlock/pull/105>
>
> drop support of python 3.8
> 
> For reviewer: Another \[PR\](https://github.com/open…edx/XBlock/pull/716) of dropping py 3.8
> 
> \- Resolves https://github.com/openedx/FeedbackXBlock/issues/108

---

<div class="post-metadata">

### Author: ![WillEVTdigital](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/willevtdigital/32/6667_2.png) [@WillEVTdigital](https://discuss.openedx.org/u/WillEVTdigital)
#### Post date: [August 14, 2024, 3:05pm UTC](https://discuss.openedx.org/t/feedbackxblock-2-0-0-not-compatible-with-quince/13655/5 "2024-08-14T15:05:12Z")

</div>

Thanks both for getting back to me, I tracked down where I was installing the xblock and have pinned it

openedx-dockerfile-post-python-requirements

```auto
RUN pip install "feedback-xblock>=1.6.0,<2.0.0"

```
