-
Notifications
You must be signed in to change notification settings - Fork 786
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Python 3.8 or later #2705
Labels
Milestone
Comments
mssalvatore
added
Impact: High
Complexity: High
python
Pull requests that update Python code
labels
Dec 14, 2022
7 tasks
mssalvatore
added a commit
that referenced
this issue
Feb 24, 2023
mssalvatore
added a commit
that referenced
this issue
Feb 27, 2023
mssalvatore
added a commit
that referenced
this issue
Feb 27, 2023
8 tasks
mssalvatore
added a commit
that referenced
this issue
Feb 28, 2023
8 tasks
mssalvatore
added a commit
that referenced
this issue
Feb 28, 2023
8 tasks
ilija-lazoroski
added a commit
that referenced
this issue
Mar 1, 2023
8 tasks
8 tasks
ilija-lazoroski
added a commit
that referenced
this issue
Mar 1, 2023
ilija-lazoroski
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
ilija-lazoroski
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
pushed a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 1, 2023
mssalvatore
added a commit
that referenced
this issue
Mar 28, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Description
Python 3.7 goes EOL in June 2023. We need to upgrade to at least Python 3.8 (or preferably later).
Note: We should be able to use the manylinux1 distro of v3.9 from https://github.com/niess/python-appimage/releases on an Ubuntu Xenial build machine.
Considerations
Notes
GLIBC
I think the oldest OS we can reasonable support is Ubuntu Xenial. It uses glibc 2.23 and still receives security updates through Ubuntu Advantage (until April 2026).
Xenial - glibc 2.23
Rhel/Rocky 8 - glibc 2.28
Rhel/Rocky 9 - glibc 2.34
Opensuse 15.4 - 2.31
Debian 9 stretch - glibc 2.24
Building Python on Xenial
It is possible to build Python 3.11 on Xenial. I've tried preliminarily running unit tests but run into issues. We could also try building 3.10. In order to build 3.10 or 3.11, we need to build openssl 1.1.1 from source.
It may be a smoother transition to go to 3.10 instead of 3.11.
Another option is to use the Python 3.9 AppImage. Only one unit test failed when I tried this approach. Later versions of Python are obviously preferable, but python 3.9 is good for 2 years, 7 months (which is almost as long as Xenial is supported).
Build notes
Here are some notes for building Python3.11 on Xenial
Python 3.9 AppImage
I was able to get unit tests to pass with the Python3.9 manylinux2014 AppImage from https://github.com/niess/python-appimage/releases. A couple of notes:
pipenv upgrade --dev
for both the Island and AgentWARNING You can't build a pyinstaller binary with the AppImage python, because PyInstaller requires that python be compiled with
--enable-shared
Python 3.11.2 with pyenv
Installing 3.11.2 with pyenv is way easier than all of the above.
Tasks
Agent
Grant individual team members access (if possible)monkey
repository so community members can easily build agentsIsland
Other
The text was updated successfully, but these errors were encountered: