-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Wrong libprotobuf Version Dependency? #210
Comments
you could make it work with 3.20? I'm asking because I can't (on a M3 Mac):
and with 3.19 I'd would have to go down to Python 3.10 apparently? Is this all just a conda hickup? Maybe I should try pypi... On Python 3.12 this doesn't work at all as well. It looks like we "just" need to rerun the |
Thanks for working on this! I'm not fully understanding why, but this seems to create near-catastrophic dependency issues for me ATM, maybe some older versions were removed from conda-forge? So, for the workaround I currently need to go down to numpy=1, protobuf=3.20, pandas=2.1, and pyarrow=9.0.0 which dask already warns me won't work for much longer. welcome to dependency hell... ;) guess i really should start freezing working environments... |
Yes, I got it to work on Linux and Mac by just adding protobuf=3.20 install. I did have to ensure the Python environment was no higher than 3.12.x, though; default install on two of my computers went to Python 3.13 so I had to kill the environment and re-make it explicitly saying python=3.12. |
bizarre, doesn't work here at all with 3.12 on osx-arm:
|
Not sure what to say. Not knowing you could specify protobuf in the initial call, here's what I do:
Maybe deliberately installing protobuf=3.20 after everything else is what works? A case where my ignorance of more complex conda stuff came in handy? |
Note that simultaneous provision of all required library leads to more reliable and importantly repeatable results (b/c things are then not order-dependent in case the dependency solver is buggy). This is also noted in the official docs: I really would like to understand this situation, if you have the time, also because you might have a broken enviroment without knowing it. For linux-64, there does not exist a protobuf version 3.20.* on the conda-forge channel that satisfies the Python=3.12 requirement:
or, without the grep:
But they are available on the commercial `defaults' channel:
So, most likely, your default channel is
or something similar. Importantly, your env init already took all required packages from the default channel, as you can confirm with
When I now continue with installing your list of packages up to plio, I (and most likely you, too, otherwise your system should not be able to find a protobuf=3.20 for py312) end up with an environment that is heavily mixing packages from the default channel and the conda-forge channel:
This is just calling for trouble. It can work in 99% of time, but inexplicably fail in the remaining 1%, and if you ever had the feeling that your env is less stable than others, this might be just the reason. But don't take my word for granted and search the web for 'conda "mix channels"' and see what others say about this. You can check your installed status for an env by calling (when the right env is active):
So, if you want to avoid all this, plus make your IT department happy by absolutely staying away from the commercial |
Merging the PR caused this to auto close, I don't think this can be closed until we have a release that doesn't have this issue. |
I tried installing the PR into a fresh env with Python 3.12 and import plio works now, with some kind of warning text:
These are my versions:
|
hm, for a different reason I did another fresh install of a python 3.12 env with my full stack of packages PLUS some Amazon lib dependencies for the new hostess package, and then I didn't get above warning? Not sure what happened, but maybe disregard my previous post. |
i see it was released in 1.6.0 but not yet disseminated via pypi/conda. |
Conda forge recipe is failing, it's still on my radar to fix it this week so the cond\a release goes through. Just a lot of stuff going on at once. |
new plio is out and should no longer have the import issue. Just make sure to get 1.6 |
I'm doing a new install and was running into issues for any of the available PLIO versions (1.5.2–1.5.5). I install it, then open Python and do something simple like
import plio
and the following results:I exited Python, ran
conda install protobuf=3.20
, and now it seems to be working -- or, at least, doesn't throw errors when I just runimport plio
. The version that was installed originally was 5.27.5. I haven't tested the rest of my code so I'm not sure if this relatively simple work-around solved things, but it's something to look into. Note that this is on an M1-chip Mac -- I've been migrating to arm-64 architecture for all my conda installs except ISIS to try to avoid the Rosetta 2 translation hit.The text was updated successfully, but these errors were encountered: