Skip to content
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

Installation on Python 3.11 fails #363

Open
yorickdowne opened this issue May 18, 2023 · 10 comments
Open

Installation on Python 3.11 fails #363

yorickdowne opened this issue May 18, 2023 · 10 comments

Comments

@yorickdowne
Copy link
Contributor

During pip3 install requirements.txt, the build fails when Python 3.11 is used, even when python3-dev is installed.

#0 27.66       copying cytoolz/tests/test_docstrings.py -> build/lib.linux-x86_64-cpython-311/cytoolz/tests
#0 27.66       running build_ext
#0 27.66       building 'cytoolz.dicttoolz' extension
#0 27.66       creating build/temp.linux-x86_64-cpython-311
#0 27.66       creating build/temp.linux-x86_64-cpython-311/cytoolz
#0 27.66       gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.11 -c cytoolz/dicttoolz.c -o build/temp.linux-x86_64-cpython-311/cytoolz/dicttoolz.o
#0 27.66       cytoolz/dicttoolz.c:211:12: fatal error: longintrepr.h: No such file or directory
#0 27.66         211 |   #include "longintrepr.h"
#0 27.66             |            ^~~~~~~~~~~~~~~
#0 27.66       compilation terminated.
#0 27.66       error: command '/usr/bin/gcc' failed with exit code 1
#0 27.66       [end of output]
#0 27.66   
#0 27.66   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 27.66   ERROR: Failed building wheel for cytoolz
#0 27.67   Running setup.py clean for cytoolz
@mingyuanlee
Copy link

Are you using arm64 or x86_64 architecture?

@yorickdowne
Copy link
Contributor Author

x86_64

@mingyuanlee
Copy link

First, I use Python3.9, because Python3.11 causes other issues like default_library something. And pip install Cython solves the problem for me.

@yorickdowne
Copy link
Contributor Author

So is the story here that requirements.txt should include cython? I can do some testing and offer a PR.

python 3.11 is default in bookworm for example.

@MarkWieczorek
Copy link

This also fails for on macos (arm64) with python 3.11.

Nevertheless, it installs fine using python 3.10 !

@yorickdowne
Copy link
Contributor Author

yorickdowne commented Sep 7, 2023

cytoolz (and thus toolz) requires a version bump to install with Python 3.11

mutable defaults in keystore.py needed to be changed to use default_factory

@yorickdowne
Copy link
Contributor Author

The linked PR also covers Python 3.12, the expected default in Ubuntu 24.04.

@yorickdowne
Copy link
Contributor Author

For others finding this, the friendly fork of deposit cli works on modern Python versions.

https://github.com/eth-educators/ethstaker-deposit-cli

@eenagy
Copy link

eenagy commented Oct 4, 2024

I am facing the same issue but for different reasons.
Distro: Debian 12 (bookworm)

ERROR: Ignored the following versions that require a different python version: 3.0.0 Requires-Python >=3.6, <3.11; 3.1.0 Requires-Python >=3.6, <3.11; 4.10 Requires-Python <3.11,>=3.6; 4.6 Requires-Python <3.11,>=3.6; 4.7 Requires-Python <3.11,>=3.6; 4.8 Requires-Python <3.11,>=3.6; 4.9 Requires-Python <3.11,>=3.6; 5.0 Requires-Python <3.11,>=3.7; 5.0.1 Requires-Python <3.11,>=3.7; 5.1 Requires-Python <3.11,>=3.7; 5.2 Requires-Python <3.11,>=3.7; 5.3 Requires-Python <3.11,>=3.7; 5.4 Requires-Python <3.11,>=3.7; 5.4.1 Requires-Python <3.11,>=3.7
ERROR: Could not find a version that satisfies the requirement pyinstaller==4.10 (from versions: 2.0, 2.1, 3.0, 3.1, 3.1.1, 3.2, 3.2.1, 3.3, 3.3.1, 3.4, 3.5, 3.6, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.5.1, 5.5, 5.6, 5.6.1, 5.6.2, 5.7.0, 5.8.0, 5.9.0, 5.10.0, 5.10.1, 5.11.0, 5.12.0, 5.13.0, 5.13.1, 5.13.2, 6.0.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 6.5.0, 6.6.0, 6.7.0, 6.8.0, 6.9.0, 6.10.0)
ERROR: No matching distribution found for pyinstaller==4.10

@yorickdowne
Copy link
Contributor Author

Just to reiterate, staking deposit cli uses Python 3.8, 3.9 or 3.10. It is ossified.

ethstaker deposit cli is actively supported and supports Python 3.9 through 3.13. Audits with Trail of Bits, the original auditors of staking deposit cli, have started; we expect an audited release in a month or two.

Thank you to the EF crew for developing this software and embracing a friendly fork to carry it forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants