Seahub errors (7.1.5) - Python?

I have recently updated from 6.3.4 to 7.1.5 (CE). It was sucessfull! I could start everything.

While checking the setup I found out it was no start on bootup. So we have manually been running it after a reboot.

sudo .../seafile-server-latest/seafile.sh start
sudo .../seafile-server-latest/seahub.sh start

When I added systemd service’s for autostart (https://download.seafile.com/published/seafile-manual/deploy/start_seafile_at_system_bootup.md) I changed the user and group to seafile.
Then I changed the seafile folders to be owned by user seafile and group seafile.

Added myself to the seafile-group and recursively changed permissions to 775.

sudo systemctl start seafile.service # Starts
sudo systemctl start seahub.service # Starts 

seahub.log below. I have some thoughts about the python upgrade. Have followed:
https://download.seafile.com/published/seafile-manual/upgrade/upgrade_notes_for_7.1.x.md
It was working when starting with sudo, and directory owned by root:root.

Please advice me how to find out a solution!

2020-09-23 10:46:47,664 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /
Traceback (most recent call last):
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
    i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/rooturl.py", line 41, in <module>
    url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/urls.py", line 8, in <module>
    from seahub.views.sysadmin import *
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/views/sysadmin.py", line 96, in <module>
    from seahub.utils.two_factor_auth import has_two_factor_auth
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
    from seahub.two_factor.views.login import (
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
    from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/core.py", line 31, in <module>
    from seahub.auth.forms import AuthenticationForm
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/auth/forms.py", line 17, in <module>
    from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'
2020-09-23 10:46:47,936 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /favicon.ico
Traceback (most recent call last):
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
    i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/rooturl.py", line 41, in <module>
    url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/urls.py", line 8, in <module>
    from seahub.views.sysadmin import *
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/views/sysadmin.py", line 96, in <module>
    from seahub.utils.two_factor_auth import has_two_factor_auth
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
    from seahub.two_factor.views.login import (
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
    from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/core.py", line 31, in <module>
    from seahub.auth.forms import AuthenticationForm
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/auth/forms.py", line 17, in <module>
    from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'
2020-09-23 10:46:48,259 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /
Traceback (most recent call last):
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
    i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/rooturl.py", line 41, in <module>
    url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/urls.py", line 8, in <module>
    from seahub.views.sysadmin import *
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/views/sysadmin.py", line 96, in <module>
    from seahub.utils.two_factor_auth import has_two_factor_auth
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
    from seahub.two_factor.views.login import (
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
    from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/core.py", line 31, in <module>
    from seahub.auth.forms import AuthenticationForm
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/auth/forms.py", line 17, in <module>
    from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'
2020-09-23 10:46:48,383 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /favicon.ico
Traceback (most recent call last):
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
    i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/rooturl.py", line 41, in <module>
    url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/urls.py", line 8, in <module>
    from seahub.views.sysadmin import *
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/views/sysadmin.py", line 96, in <module>
    from seahub.utils.two_factor_auth import has_two_factor_auth
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
    from seahub.two_factor.views.login import (
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
    from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/core.py", line 31, in <module>
    from seahub.auth.forms import AuthenticationForm
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/auth/forms.py", line 17, in <module>
    from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'
2020-09-23 10:48:50,123 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /api2/account/info/
Traceback (most recent call last):
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request
    i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/thirdpart/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/rooturl.py", line 41, in <module>
    url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)),
  File "/home/the_user/comp/seafile-server-7.1.5/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 "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/urls.py", line 8, in <module>
    from seahub.views.sysadmin import *
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/views/sysadmin.py", line 96, in <module>
    from seahub.utils.two_factor_auth import has_two_factor_auth
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/utils/two_factor_auth.py", line 5, in <module>
    from seahub.two_factor.views.login import (
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/__init__.py", line 2, in <module>
    from .core import SetupView, BackupTokensView, SetupCompleteView, QRGeneratorView
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/two_factor/views/core.py", line 31, in <module>
    from seahub.auth.forms import AuthenticationForm
  File "/home/the_user/comp/seafile-server-7.1.5/seahub/seahub/auth/forms.py", line 17, in <module>
    from captcha.fields import CaptchaField
ModuleNotFoundError: No module named 'captcha.fields'

It looks like your seafile user cannot access the module captcha (from django-simple-captcha). How did you install it?

Thanks!
I think the problem is my knowledge in Python, and pip here. How can I verify the installation? I have not installed Python or pip using the seafile-user
I feel a bit lost here! :frowning:

You can list packages with pip3 list (or pip list, depending on whether pip defaults to Python 2 or 3). If you install python packages as user, they will by default be installed only for that user. (Also, using sudo pip is definitely not recommended - one reason being a potential security problem, another that you might break your python dependencies when mixing packages installed through the distro’s package manager (system-wide) and pip (system-wide)) Hence, you need to install the required packages as seafile user.

Another question: Why did you add yourself (assuming that’s not the seafile user) to the seafile group? You’re starting seafile as seafile user, “you” don’t need access to the files.

Thanks,
It was the same as my suspicion, you helped me in the right direction!
I might have tried the sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy django-pylibmc django-simple-captcha python3-ldap during all my tries.

I dis sudo su seafile
Then pip3:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip._internal'

No I solved it by:
sudo apt remove python-pip
sudo python3 -m pip install -U pip==19.0.2
sudo pip3 install --upgrade pip

Then as the seafile user I was able to run pip3 followed by:
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy django-pylibmc django-simple-captcha python3-ldap

That did the trick.

If the pip installation are a mess, I can’t tell… Maybe I have some unclear things here. :frowning: But I have a auto-started Seafile not run by root! :+1:

Regarding the question:

Another question: Why did you add yourself (assuming that’s not the seafile user) to the seafile group? You’re starting seafile as seafile user, “you” don’t need access to the files.

It’s simply because I wanted to access the config and logs with my account. Even when upgrading Seafile I guess it would be simpler. But I don’t know if there are better ways? Please let me know!

1 Like

That does make sense. :slight_smile:
Great that you got it working!