Closed lxbader closed 2 years ago
IIRC neither PyPI nor conda has 3.7 binaries for macOS arm64, so it's not clear to me that that is a valid combination at all. And 1.22.0 requires Python >=3.8, so not have a pin should already give you a 1.21.x sdist. So this doesn't look useful to me. If I'm missing something, can you please explain in more detail @lxbader?
I would open a PR but don't seem to have the permissions.
This is a regular public repo, so you do have permissions.
We are currently stuck with Python 3.7 and pandas 1.3.5 - will upgrade our systems as soon as possible, but it may take a while.
In the current configuration, trying to install this combination on our new MacBooks with Apple M1 Pro processors fails: no wheels are found of course, and when trying to build the package locally then oldest-supported-numpy
refers us to numpy==1.14.5
which definitely doesn't work out.
I created a local copy of oldest-supported-numpy
where I made the addition suggested in the original post, and that lets us build pandas 1.3.5 for our systems successfully.
Ah okay, that makes sense. Can you please try to open a PR? The standard "fork-clone-sendPR" workflow for GitHub definitely works. If you really have an issue with that, please post the diff that works for you.
How did you get Python 3.7 running on macOS ARM? The ARM patches have never been backported past 3.8 AFAICK. Just curious.
@rgommers Not sure what's going wrong with me trying to push - new machine so some setup may be sketchy, but it does look like I have SSH access and everything should work, but it doesn't. It's probably easiest to just write the diff here:
numpy==1.21.0; python_version=='3.7' and platform_machine=='arm64' and platform_system=='Darwin'
needs to be added to the ARM64 requirements, and the default numpy requirements for 3.7 need to be amended to exclude this combination:
numpy==1.14.5; python_version=='3.7' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_machine!='loongarch64' and platform_system!='AIX' and platform_python_implementation != 'PyPy'
@henryiii cloning the current pyenv and installing it let us install python 3.7.13 without problems happily!
You can just edit the file directly in GitHub, that will automatically make a fork and start the PR process. It's the little pencil icon at the top when viewing the file. I'd do it but I can't test it, so it seems safer to let you do it if you can (via that edit button).
That's a build-from-source, plus a few patch releases past the final binary release, so maybe they were accepting fixes for ARM? I'd be a little nervous and would double test everything to make sure it works, but interesting if it does! I wonder if CPython's test suite would pass.
Would it be possible to add a requirement like
numpy==1.21.0; python_version=='3.7' and platform_machine=='arm64' and platform_system=='Darwin'
for users with new ARM64 processors who still need to run pandas and other packages on python 3.7?I would open a PR but don't seem to have the permissions.