-
Notifications
You must be signed in to change notification settings - Fork 28
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
cPickleCache will not build on Python 3.9 without trace refs #124
Comments
I wonder if we could use the ArrangoDB serialization protocol, VelocityPack, instead of Python Pickle.
After reading more about it, it sounds more interesting than I initially thought. |
Guard use of the internal functions _Py_*Reference behind correct ifdefs. Also fix use of deprecated function PyEval_CallObject to be PyObject_CallObject. Fixes #124
Guard use of the internal functions _Py_*Reference behind correct ifdefs. Also fix use of deprecated function PyEval_CallObject to be PyObject_CallObject. Fixes #124
cPickleCache is relying on
persistent/persistent/cPickleCache.c
Line 664 in d4f1204
which is no longer available on Python 3.9 without Py_TRACE_REFS being defined, s. python/cpython#18332
As a result, cPickleCache can't be built + imported:
Tests silently work around this.
It is still possible to import cPersistence though, so code in the package that does
import persistence
and then usespersistent.Persistent
, e.g.persistent/persistent/mapping.py
Line 33 in d4f1204
persistent/persistent/__init__.py
Line 40 in d4f1204
will only ever see the Python implementation of both Persistent and the pickle cache.
-> This is causing trouble in the Persistence package, ticket coming there.
The text was updated successfully, but these errors were encountered: