Open martin-braun opened 8 months ago
Hi @martin-braun,
it looks like you're missing a few dependencies that provides ffi.h (seems to come from libffi-dev) longintrepr.h missing seems to lead to https://github.com/MagicStack/uvloop/issues/465, which says that uvloop 0.16 is not supporting Python 3.11.
But I see that our requirements.txt already pulls uvloop in version 0.17. Did you use latest commit ? or latest release ?
@daftaupe Thanks, I forgot to mention, I do not use the latest commit, I pulled the latest tag https://github.com/etesync/server/releases/tag/0.11.0. So you are telling me since Python probably had some updates and I use the latest Python I am forced to use the master branch?
I was hoping not to have to do this, because I prefer stability. But downgrading Python doesn't feel good either. I guess the preferred attempt would be to introduce pyenv
into my setup to have etebase server be powered by Python 3.7 regardless?
@martin-braun I think it makes total sense to use a release, it's just that the latest here is kinda old Dec 9, 2022
.
@tasn I think it would make sense to have a new release to avoid such issues. Could you please do that ?
@martin-braun I think it makes total sense to use a release, it's just that the latest here is kinda old
Dec 9, 2022
.@tasn I think it would make sense to have a new release to avoid such issues. Could you please do that ?
Yes please, do a new release if possible.
As far as I can tell the 0.11.0
release already has the bit rot on Arch since Python 3.12 was rolled out there as running etebase in a Python virtual environment no longer works for me.
I updated the system and Python got upgraded from 3.11 to 3.12. Which I noticed, and so I ran a python -m venv --upgrade python-venv
, followed by (from within the venv) pip install --upgrade pip
and pip install -r application/requirements.txt
.
Unfortunately pip can no longer install these dependencies because they do not support Python 3.12:
pyyaml==6.0
httptools==0.5.0
uvloop==0.17.0
Replacing them with newer, supported versions caused fatal runtime errors, so I had to resort to installing the Python 3.11 AUR package which thankfully does not conflict with the system Python 3.12 package.
After deleting the venv and creating a new one using the /usr/bin/python3.11
binary etebase seems to work again, although there are some exceptions printed about the Blake2B hash function not being available or something.
I basically just hope this doesn't mess anything up and will keep working until there is a release that supports Python 3.12, all my contacts and calendar entries are in there after all.
@tasn could you take look at the other dependencies? Recently you updated Django as part of #173, but still incompatible with python 3.12.
I tried to do new docker release of v0.13.1 but had to downgrade the python base image because of uvloop and httptools versions.
Any update on this?
Any update on this?
I can't realy talk about Debian 12, but tag v0.14.2 worked for me on Arch with Python 3.12 in a venv.
I couldn't really look much into it, but my first attempt failed on Debian 12.2. Here is the full output of
virtualenv -p python3 .venv && source .venv/bin/activate && pip install -r requirements.txt
:It might seem that some packages are missing on a new Debian install. They should be either be part of the venv (if they are Python packages), or documented (if they are
apt
packages).