Direct deployment with python3.11

after upgrade python to version 3.11, mayan does not work again. (debian testing installation).
How to migrate direct deployment to python 3.11?

You did not mention what version of Mayan you are running? I know v4.3 was the first version to support python v3.10. So would need to know what version you are running. Not sure about support for python 3.11

Also note that manual installs are deprecated, and docker compose is the default installation method and is recommended for the majority of cases these days, and the currently supported versions are 4.4, 4.3, and 4.2** as of the date of this post.

I use Mayan 4.3.4.
When executing:
docker run -d -p 80:80 docker/getting-started

I end up with an error message on compiling wheel.

type src/greenlet/greenlet.h:42:5: error: unknown type name ‘CFrame’

It seems, there is a python problem with the greenlet package (greenlet 2.0.2 is installed)
python is 3.11.2

I try to switch my direct installation to docker. Basicly it works, but I have some issues. One of it is that document previews are mostly not here, for example.



Thanks for the reply and the additional info. The official docker image has python 3.10 so more than likely Mayan 4.3 does not support python v3.11, the error you are seeing is probably a dependency issue. What was the reason you are upgrading python to 3.11 on the server that is hosting Mayan if I may ask?

As for moving to the docker compose method, I am also currently running a manual install and will be moving to the docker compose method. There is a post about this already about this if you want to take a look and it out lines the steps. I will be posting my upgrade experience in the near future to help others like you looking to move from manual to the docker experience.

1 Like


thank you for the information. Reason for use python3.11 is upgrade of debian system, which forces to 3.11 version. Unfortunatly, returning to lower version of python is not possible without downgrading a huge number of applications.

Concerning docker installation, seems to work now. I have some problems with user/group ids, which are mapped wrong: mayan user in docker has id 1000, which is the id of an other user on the host. Up to now, I could not manage to solve this. Maybe you can give me a hint for that?
Regards, Johann

As @DocCyblade mentions, Python 3.10 is the latest supported version. It seems 3.11 introduced some backward incompatible changes. Right now one of the main priorities is migrating to Django 4.2 LTS since the current Django 3.2 LTS goes end of life next year. Python 3.11 will take a back seat unless the Django 4.2 move requires working on it.

Under Ubuntu I use the deadsnakes project to keep install older versions of Python (specially usefull when backporting fixes to old versions of Mayan): New Python Versions : “deadsnakes” team

There might be a similar project to allow older Python versions to be installed.

This is another advantage of using Docker, all dependencies are isolated, even Python and work regardless of the host operating system Python version.

There are multiple parallel works to establish a direct to Docker migration document. One of those is the topic mentioned by @DocCyblade which already has a good amount of steps identified.

… for debian see Install newer & older versions of python on debian? - Unix & Linux Stack Exchange
where they explain how to use multiple versions of python.

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.