Closed icemac closed 4 years ago
Installation via pip
is fine.
Interesting, we just did several buildouts yesterday on both macOS and Linux using 3.1.2 and they were fine. 3.1.2 contains manylinux and macOS wheels for both 2.7 and 3.7 so I don't understand why you would be compiling from source.
3.1.2 contains manylinux and macOS wheels for both 2.7 and 3.7
No, actually the macOS wheel for 3.7 was missing for some reason. I've uploaded it manually.
Hm, I only see macOS wheels for 3.7 and 3.8. But nevertheless the problem seems to be in the sdist.
Hm, I only see macOS wheels for 3.7 and 3.8.
Yeah, I'm noticing that now too. All the uploads must have failed for some reason. I'm uploading the missing macOS wheels now. Give it a few minutes and try again.
But nevertheless the problem seems to be in the sdist.
Well, maybe. But the error is not what it seems. no such file or directory: 'src/relstorage/cache/cache.c'
makes perfect sense: There never is a cache.c
file, because this code is written in C++. There's a cache.cpp
file at the correct place, correctly included in the sdist. The question is why is it looking for a .c file. I suspect it has something to do with the presence of Cython (or rather, its absence in your environment and the fallback code that runs when its not available; there's probably something hardcoded to .c).
Yeah, that's what it is. https://github.com/zodb/relstorage/blob/af57d6c1d5c985f2315fee0e41f71c2caa222f24/setup.py#L22-L28
Adding Cython
to the eggs section in buildout.cfg
does not help. But installing it using pip
alongside zc.buildout
fixes the installation.
Using the beta version of zc.buildout would also fix the problem, because it respects the pyproject.toml
that RelStorage includes.
All the binary wheels are uploaded now.
Thank you!
Minimal buildout.cfg:
Steps to reproduce:
Result:
Version 3.1.1 installs fine with the same scenario. I get the same error when using Python 2.7. I am running on MacOS.