I18n generate does not work in the Maple version

I’m using the version: tutor/CHANGELOG.md at master · overhangio/tutor · GitHub

The tutor in this version uses the Openedx version: (open-release/maple.3)

If we open the Openedx code, in the final repository, in the MAPLE version, we see that it uses a third library called: edx-i18n-tools==0.8.1 as a dependency:

And parallel to that, it uses the Django version: django==3.2.13.


In this version of the tutor, I need to run the following command via DockerFile:
RUN i18n_tool generate -v

When running, the following error is displayed:

INFO:i18n.generate:Merging djangojs.po locale en
INFO:i18n.execute:Executing in . ...
INFO:i18n.execute:django-admin.py compilemessages -v1
/openedx/venv/bin/django-admin.py:17: RemovedInDjango40Warning: django-admin.py is deprecated in favor of django-admin.

As we saw earlier, we are using Django 3.2.13 and,
Django in version 3.1 reported several changes as per the link:

Including: The django-admin.py entry point is deprecated in favor of django-admin.

And for me, the error is obvious, because really, in this version of Django we have to use a more updated version of `18n-tools:

In this version 1.0.0 of i18n-tools, we have the following topic:

  • Use django-admin instead of django-admin.py

Okay, we already understand the problem and now here are some comparisons.

In the i18n-tools dependency file, we have the following content:

And in the OpenEdx dependencies file, we have the following content:

We clearly see the difference in:

- [openedx] django==3.2.13
- [i18n-tools] django==3.2.17

- [openedx] path==16.2.0
- [i18n-tools] path==16.6.0

And so on …

If I manually install via Dockerfile the latest i18n-tools before running the command, I get the following error:
RUN pip install edx-i18n-tools==1.0.0

     self._wrapped = Settings(settings_module)
   File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
     mod = importlib.import_module(self.SETTINGS_MODULE)
   File "/opt/pyenv/versions/3.8.12/lib/python3.8/importlib/__init__.py", line 127, in import_module
     return _bootstrap._gcd_import(name[level:], package, level)
   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
   File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'lms.envs.tutor.production'

Then I bring the questions that don’t want to be silenced;

  • How is this tutor version using this version of i18n?
  • Did no one notice this error when compiling the locales?
  • What approach has the community taken to overcome this problem?
  • Can I simply match the number of packages contained within i18n to be the same as the tutor and it will work?