-
Notifications
You must be signed in to change notification settings - Fork 43
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
WIP: Fix building on 3.13 #411
base: master
Are you sure you want to change the base?
Conversation
0754abc
to
4003ded
Compare
I think something like: #412 ontop of it some testing should be added to make sure. |
4003ded
to
9a8b4dd
Compare
PyEval_InitThreads is depricated, since 3.7 it is not necessary to call it. Ref: https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads
Otherwise it fails to convert unicode to 'str': ``` Error compiling Cython file: ------------------------------------------------------------ ... if metadata_request_timeout is None: return stmt ms = int(metadata_request_timeout / datetime.timedelta(milliseconds=1)) if ms == 0: return stmt return f"{stmt} USING TIMEOUT {ms}ms" ^ ------------------------------------------------------------ cassandra/util.py:1813:11: Cannot convert Unicode string to 'str' implicitly. This is not portable and requires explicit encoding. ```
we run running again and again into situation our wheels are missing some of the part we expect cause of extensions silently failing with this change we can stop the builds cause of that, and attend to it
9a8b4dd
to
4ac9bf0
Compare
Thanks, I have cherry-picked it. |
f578fb0
to
0c39303
Compare
.github/workflows/build-push.yml
Outdated
- name: Install cython | ||
run: | | ||
python -m pip install 'Cython>=3.0.11,<4' | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we install cython on scylladb frozen toolchain? Or will install-dependencies.sh pick up a pre-built package and so not require a compilation during installation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If pip would pick a correctly built wheel
You don't need todo anything on your end.
Also installing other version of cython won't help, it would pick the version mentioned in this line to build.
Its exactly what we were missing for quite some time, hence building with very old version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I take one thing back, I'm not sure why this specific one was added, I was referring to the referring cython in setup.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just wait, it is still in progress.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe this would help:
switching to build with build tool
let's see how CI in my PR works with it
.github/workflows/build-push.yml
Outdated
python -m pip install Cython | ||
|
||
- name: Install setuptools | ||
run: | | ||
python -m pip install setuptools --upgrade | ||
|
||
- name: Install wheel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are you adding those ? they have zero affect inside cibuildwheel that works inside docker (and it's own venv per python)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is still in progress, I am working on to find out why it does not recognize cython module for python >=3.12
There is a bug in distutils that does not allow it to pick up cython for python 3.12 and later.
0c39303
to
5791dc8
Compare
fec5d0d
to
cf9abe8
Compare
Fixes two problems:
PyEval_InitThreads
got depricated and does not exists in python 3.13:Fixes: #409
Tested
Localy on
fedora:41
imagePre-review checklist
I added relevant tests for new features and bug fixes.All commits compile, pass static checks and pass test.I have provided docstrings for the public items that I want to introduce.I have adjusted the documentation in./docs/source/
.Fixes:
annotations to PR description.