Despite installing with pip3 install fields, the problem still shows it being missing.
2020-04-07 17:46:04,885 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /api2/repos/
Traceback (most recent call last):
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
response = middleware_method(request)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/conf/urls/i18n.py", line 29, in is_language_prefix_patterns_used
for url_pattern in get_resolver(urlconf).url_patterns:
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/urls/resolvers.py", line 400, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/utils/rooturl.py", line 41, in <module>
url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
File "/opt/marma/seafile-server-7.1.3/seahub/thirdpart/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/urls.py", line 8, in <module>
from seahub.views.sysadmin import *
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/views/sysadmin.py", line 96, in <module>
from seahub.utils.two_factor_auth import has_two_factor_auth
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
from seahub.two_factor.views.login import (
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/two_factor/views/core.py", line 31, in <module>
from seahub.auth.forms import AuthenticationForm
File "/opt/marma/seafile-server-7.1.3/seahub/seahub/auth/forms.py", line 17, in <module>
from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'
Usually upgrades for Seafile is stable, it seems this one has a lot of things missing from the upgrade documentation to make it work. What needs to be done to fix this?