-
Notifications
You must be signed in to change notification settings - Fork 906
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
conda packages only work with conda-forge #2138
Comments
Okay, after a bit more playing, I've managed to get an environment that basically meets my needs. The problem is the With the following commands, I managed to get an environment that takes
The three commands need to be run separately, otherwise they'll each try to replace most of the environment. (The conda-forge step actually downgrades my TLS certificates to an older version, but the third step brings them back.) So there's a workaround for users. I'm not sure there's an easy way to avoid the |
I was looking at some other packages which we distribute over our microsoft conda channel, their Python dependency looks similar, and it seems like there is not much we can do here on our side? Where is our python_abi dependency coming from? Most likely from Python itself? Seems like you are more of a Conda expert here than we are here, so if you have suggestions, let us know! |
I never accused you of being the only culprits 😉
It comes from using conda-forge when building the package, because they make it a strict requirement. Anaconda does not, so if you build using their packages, it would still successfully install against conda-forge because all the dependencies are satisfied. It doesn't work the other way, because Anaconda can't satisfy the
I suspect deleting this line will be sufficient: https://github.com/microsoft/playwright-python/blob/main/.github/workflows/publish.yml#L19 Possibly it needs to be replaced with |
Possibly it needs to be replaced with defaults, but that should be the default. I tried both, but getting this in both casese:
|
Looks like Anaconda hasn't updated past greenlet 2.0.1 and pyee 9.0.4 for osx-x64 (list here, but be warned it's a big page). Are those particular versions required? Or just frozen there. We can ask them to prioritise the newer versions if needed and get them added. |
We usually freeze them, so that if customers install Playwright, its guaranteed that this version works for them. We had cases where dependencies were breaking us. We are also using very often very recent versions of pyee or greenlet, since they often fix bugs which are important for our customers. So if we would lax the version range for our published conda package, it would work with the default channel? TIL. |
That sounds like a good reason, but as I said, we can ask Anaconda to accelerate their updates if there are fixes we need. And yeah, loosening version ranges is generally a good move. Conda does a pretty good job of locking in the versions that are actually used to build a package if they matter, and allowing updates on install for those that don't. So you should be able to get the best of all worlds by not freezing the inputs and making sure that the outputs are/aren't frozen as appropriate. Happy to take this internal to figure out how to proceed from here, you know my team alias (the obvious one). |
I'm trying to add Playwright to my conda environment installed from Anaconda's repository, but it produces conflicts and/or tries to replace the entire environment.
It seems the packages published to anaconda.org/microsoft have tight dependencies to conda-forge, which means it's impossible to install the packages into a non-conda-forge environment.
For example, here's the output of a command that ought to install
python=3.10
from Anaconda andplaywright
from-c microsoft
:(As usual, I don't believe that the conflicts listed are the actual conflicts. The fact that it fails is the main point.)
If I add conda-forge as a channel, I get this proposed plan:
However I'm not able to use conda-forge packages in my environment - I have to use Anaconda's (for $place_of_work reasons).
It would probably be best if the anaconda.org/microsoft channel contained packages that work with Anaconda's repository, and then contribute a recipe to conda-forge to make their own build of playwright that works with that channel.
(An alternative would be to ask Anaconda to make their own build of playwright that works with their repository, but they'd want it in conda-forge first anyway, at which point the problem is solved.)
The text was updated successfully, but these errors were encountered: