Seahub/Seafile Update ends up with an "ImportError: No module named ordered_dict"

Hello Team,

I tried to update from 6.0.3 to 6.3.4.

I used the scripts provided, and changed my nginx config as well as the service scripts for startup at boottime (fast-cgi -> wsgi).

In the beginning, i ended up with an internal server error 500. I found some error messages that lead me to this post. forum.seafile.c-o-m/t/internal-server-error-after-upgrade-from-6-2-5-to-6-3-2/6700 because the messages matched.

(…
ImportError: cannot import name DependencyWarning
Done.
)

after i followed the instructions there, i tried to make the upgrade with:

./seahub.sh python-env seahub/manage.py migrate_file_comment

unfortunately that lead to the following error:


File “/home/seafile/seafile-server-6.3.4/seahub/thirdpart/requests-2.18.4-py2.7.egg/requests/compat.py”, line 47, in
from urllib3.packages.ordered_dict import OrderedDict
ImportError: No module named ordered_dict
Done.

I do know about the other post in this forum but reinstalling the whole system is not an option.

My System is a RaspPi3 with debian jessie, mysql and nginx

problem(s) solved:

Just for Reference. There were some changes that i might have not seen in the changelogs:

1st: i put all seafile related datablocks on an external storage / nas. The Nas OS does not allow to chown the directories that are stored there. thus i have to change my local debian user to fit the nas user/group ID. Changes in the seafile server seem to prevent that the user running seafile is not the same than the user owning the data directory. i just switched the startup script so that seahub and seafile did run as seafile user (which was root beforehand - better practice anyway)

2nd. after downloading the new release (as root user) i forgot to chown the seafile-server-6.3.4 folder to seafile:seafile so that (1st) could be applied.

3rd. i had to downgrade urllib3 from 1.24 to 1.23 for the script to run.

1 Like

Thank you for posting this! Downgrading to 1.23 with pip install urllib3==1.23 did the job for me.

1 Like

solved my problem, thx!