Installation Raspberry Pi - SeaHub dosn't start

Hello everyone,

I am trying to install seafile on my pi 5. I first tried with sqlite, but as I didn’t get it running I wanted to switch to MySQL as I already have a MySQL DB running and Apache2 too. I cleaned up the file system in /opt/seafile/.

When I follow the instructions (url: manual dot seafile dot com/deploy/using_mysql) I get problems with the following code:

sudo pip3 install --timeout=3600 Pillow==9.4.0 pylibmc captcha jinja2 sqlalchemy==1.4.3 \
    django-pylibmc django-simple-captcha python3-ldap mysqlclient

There I get a message saying I have to use apt instead of pip. For django packages I could install python3-django and *for the other packages I could install them with python3-PACKAGE. Just for the mysqlclient I had to install it as follows:

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

After that I tried to run the shell script to setup the MySQL DB (setup-seafile-mysql.sh). But I get the message:

Error: Ccnet config dir “/opt/seafile/ccnet” already exists.
I wanted to delete that folder, but I don’t exactly understand where it is, cause there is no folder or file in the /opt/seafile/ directory. It was obviously created before when I ran setup-seafile.sh.
So how can I get rid of it?! I can start seafile-server now, but not seahub, there I get the error message:

Error happened during creating seafile admin.
Error:Seahub failed to start.

Trying to reset the admin ends up in the following ERROR:

./reset-admin.sh 
Traceback (most recent call last):
  File "/opt/seafile/seafile-server-9.0.9/seahub/seahub/avatar/models.py", line 23, in <module>
    from PIL import Image
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/PIL/Image.py", line 100, in <module>
    from . import _imaging as core
ImportError: cannot import name '_imaging' from 'PIL' (/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/PIL/__init__.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/seafile/seafile-server-9.0.9/seahub/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/opt/seafile/seafile-server-9.0.9/seahub/thirdpart/django/apps/config.py", line 301, in import_models
    self.models_module = import_module(models_module_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/opt/seafile/seafile-server-9.0.9/seahub/seahub/avatar/models.py", line 26, in <module>
    import Image
ModuleNotFoundError: No module named 'Image'

I think this is coming either from the issue I failed to start with sqlite first and could not clean up correctly, OR
it is coming from a wrong installation of the python packages.

That message saying you have to use apt instead of pip comes from a change in newer OSs to prevent pip from messing with system files so it can’t break the OS. I think the right way to handle that is to create a python venv (virtual environment) to do the pip install into. I just wrote up the steps that worked for me in another thread.

Here -

Thanks I will try that and report if it worked, just still in HomeOffice so it might take some days till I get to it.