Open avriiil opened 3 years ago
see discussion with @milesgranger in this issue for more context
Is there a way to have the conda install fastparquet
use the existing version of cramjam
that I got from pip
?
Unless @martindurant has a solution, I can poke around at this maybe sometime this week or next.
Martin is probably annoyed with me by now about this :sweat_smile: , I'll keep saying that it seems weird conda/recepies can't play well with an already pre-compiled binary. Especially b/c it works in this case (installing it separately from PyPI) and these specific wheels have zero Python dependencies. :disappointed: We're already at a point that we have to retry builds b/c they may end up on less powerful VMs and exceeds an hour limit; vs simply taking the already existing wheels from PyPI.
I really like having it distributed on conda, but it's a pain to do so in this case. "There must be a better way."
I am asking some conda people, we'll see. Indeed, for fastparquet I have always found the conda path smoother than the wheel one (we didn't have non-source distribution for a long time).
This issue is mainly caused by the python interpreter and is skipping of .py->.pyc on osx-arm64. This happens due issue of cross-compiling and building python. I tested described issue on defaults after building maturin (downgraded to use rust >= 1.53.0), and cranjam. The error seems not to exists there for me. We don't provide those two packages on defaults for now, so I would recomment for the time being to use either pip (might not work for fastparquet). I provide the test versions in my private channel 'ktietz' if someone is interested in them.
@katietz - removing fastparquet
from my environment.yml and installing it through pip did the trick here for me. Thanks so much!
Nice! I also wonder if something like this would work for you?
name: test
channels:
- conda-forge
dependencies:
- fastparquet
- pip:
- cramjam
@milesgranger - yes, that works too. thanks! 🙏
@rrpelgrim This should now be fixed with the latest builds of cramjam-2.5.0. Please confirm on your end, and if so this issue can be closed. Thanks!
Should we remove the previous conda release that installs incorrectly? That can be done by submitting a patch PR, if we think it's important (I've never done this before myself)
I think we need to mark the previous osx-arm64 builds as "broken", actually. I'll look into that.
feel free to ping conda-forge admins, if you need help.
[X] I read the conda-forge documentation and could not find the solution for my problem there.
Issue:
I'm working on Apple M1 with a mambaforge deployment of conda. When trying to save a dataframe to parquet using fastparquet I'm getting the following error:
ImportError: dlopen(/Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so, 2): no suitable image found. Did find: /Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so: mach-o, but wrong architecture /Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so: mach-o, but wrong architecture Seems like conda is giving me the wrong version of cramjam?
MRE:
conda create -n cramjam conda install cramjam ipython ipython import cramjam
ImportError: dlopen(/Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so, 2): no suitable image found. Did find: /Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so: mach-o, but wrong architecture /Users/rpelgrim/mambaforge/envs/cramjam/lib/python3.9/site-packages/cramjam.cpython-39-darwin.so: mach-o, but wrong architecture
import cramjam
does work when doing apip install cramjam
. But fails again if I then do a subsequentconda install fastparquet
.