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

Add cython < 3.0 constraint for dev requirements #7154

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

zenmonkeykstop
Copy link
Contributor

@zenmonkeykstop zenmonkeykstop commented Apr 26, 2024

Status

Ready for review / Work in progress

Description of Changes

Fixes #7153

make venv fails on Python 3.11 and greater due to incompatibility between our pinned PyYAML version and cython 3.0. As a temporary measure, this PR (approach suggested by the original reporter on Gitter) constrains the cython version to allow it to succeed.

(In future we should update PyYAML and development requirements in general.)

Testing

With Python 3.9 (eg debian 11):

  • make venv and make dev complete successfully

With Python 3.11 (eg debian 12):

  • make venv and make dev complete successfully

With Python 3.12, if available:

  • make venv and make dev complete successfully

  • CI passes

  • Visual review

Deployment

n/a, development only.

make venv fails on Python 3.11 and greater due to incompatibility between our
pinned PyYAML version and cython 3.0. For now, let's constrain the cython version
to allow it to succeed. In future we should update development requirements.
@zenmonkeykstop zenmonkeykstop requested a review from a team as a code owner April 26, 2024 22:14
The affected version is <2.14.14, making it dev-only. The admin tooling uses 2.15.9.
@cfm cfm self-assigned this May 1, 2024
Copy link
Member

@cfm cfm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make venv passes for me on Python 3.9 (Debian 11) and Python 3.11 (Debian 12). It fails for me on Python 3.12 (macOS, from MacPorts) with:

      _ruamel_yaml.c:28302:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:28357:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:28498:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:28553:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:28732:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:28787:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      _ruamel_yaml.c:29276:47: error: no member named 'ob_digit' in 'struct _longobject'
          const digit* digits = ((PyLongObject*)b)->ob_digit;
                                ~~~~~~~~~~~~~~~~~~  ^
      133 warnings and 12 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ruamel.yaml.clib
ERROR: Could not build wheels for ruamel.yaml.clib, which is required to install pyproject.toml-based projects
make: *** [venv] Error 1

Let me know if you'd like me to take this over and investigate further, @zenmonkeykstop.

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

Successfully merging this pull request may close these issues.

dev virtualenv setup fails with python version >= 3.11
2 participants