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
Everything is broken: upgrade conda to version 4.4+ #43
Comments
Ok thanks! |
Yeah the challenge is updating related infrastructure in cc @conda-forge/core @kalefranz @msarahan |
The elephant in the room is that conda-forge could consider not providing packages for these things at all. |
I fail to see how that solves the problem. An updated |
So |
Right, so if conda only existed in defaults we'd have to update things in lock-step with conda-forge, that goes without saying though. |
Unfortunately that doesn't work either.
We could look into pinning things in |
As always Ray, I'm in favor of closer collaboration with defaults. Am not sure that the answer is just delete
|
Yeah, I wasn't suggesting it completely seriously, but wanted to float the idea again as a possible distant goal we could maybe one day consider. Sorry for the off-topic-ish-ness! |
So finding old versions that don't have a version constraint is really a bug in the old packages, and marking them as broken seems reasonable to me. It's not like lots of people should be needing to install the old versions now anyway... Of course stable API would solve all of these problems in any case, but given the world we live in right now, it seems to me like marking the old versions as broken and changing And yes, there would still be issues with local users of |
Ah ok. Thanks for clarifying Ray. I'd hope that the syncing up core Anaconda recipes would help that problem and as noted there have been improvements on the API issue on both ends. It just remains incomplete ATM. There are some finer points that we might want to discuss out-of-band. |
I also see this issue as one of pinning the build tools appropriately. It seems to me suboptimal to couple the entire community of users who typically have no interest in the particular build tools to only supported versions of build tool dependencies. Once we’re able to get conda-forge on conda 4.4 (actually we released 4.5 yesterday), conda-smithy and other build tools could probably make good use of |
If you would like to give a PR to |
Right so this biggest hurtle has been Tracking selected vs. merely pulled in dependencies, as I understand @msarahan, @isuruf, and I spent a fair bit of time getting |
SolutionFor others who are having this issue, I resolved it by switching the order of the channels in channels:
- defaults
- conda-forge Then I ran
which made the following change to conda:
QuestionI'm not an expert on conda, so most of the discussion in this issue is over my head. However, one thing that would have prevented my issue is if I could install miniconda/anaconda directly from conda-forge. As conda-forge grows, I think a lot of users (myself included) will want to interface only with the community driven & open source conda-forge rather than the partially-proprietary continuum anaconda. Would it make sense to have a conda-forge installer where the default channel is conda-forge? In other words, can you install miniconda and have that contain the conda-forge version of conda right off the bat? |
Please consider carefully what the likely outcome is if the community forks in such a fashion, keeping in mind that the recipes used to build the packages for AD are forked from conda-forge and that Anaconda Inc. pays the salaries of the developers working on the core tools behind conda-forge.
Please explain what is proprietary about the Anaconda Distribution. I could argue that since conda-forge packages are built on 3 different proprietary CI systems we are less proprietary. The relationship should be symbiotic and we need to work closer together not further apart. Our team have loads of great PRs we'd love to be able to push to conda-forge and we hope to make more of our infrastructure available to conda-forge as time progresses. We are really not interested in forging our own path here (pun intended). |
We really don’t know what you mean here. To my knowledge, there’s nothing I can think of that’s proprietary with what Anaconda distributes through repo.continuum.io. Every package there has the full conda recipe embedded in it. And the recipes are also all at github.com/AnacondaRecipes. That github org is set up just like conda-forge, so that we can easily push all work up to conda-forge. In fact most everything there was forked from conda-forge, and we’ve been building with new compiler technology and conda-build 3 on top. The compiler technology and conda-build 3 aren’t being kept from conda-forge at all. We’re putting in our own effort to get conda-forge’s build pipelines compatible, so we can all be on the same page. To the extent we’re distribute proprietary software in repo.continuum.io, its not proprietary Anaconda software. It’s purely for the community’s benefit. MKL is the best example. We’ve put in effort to secure a special licensing arrangement from Intel so that we can distribute out to the world at no charge to users their proprietary blas implementation that dramatically improves computation times for people using numpy. So yeah I guess there’s some proprietary stuff, if you take that perspective, but then we also distribute openblas if you really want it. My rant here isn’t to throw shade on conda-forge at all. We love conda-forge. And we contribute a lot if resources and time. I just want to be sure that we’re not allowing inaccuracies to propogate regarding the Anaconda repositories somehow being proprietary. |
Sorry about my misunderstanding... I didn't realize Anaconda's recipes were all openly licensed and available at https://github.com/AnacondaRecipes. That's great. And of course, I'm grateful to Continuum for their continued investment in open source and community resources. My intent wasn't to suggest "forking" away from Anaconda / Continuum. I was just curious if it was possible to install a distribution where all the packages (including |
So, trying to figure out exactly what makes this fail:
Do you know what you did differently from that that made everything break, @dhimmel? It might be that there's some easy fix to recover whatever's broken about your installation, and if this is something that's going to be happening to a lot of people we should figure out how to avoid it. (Using |
This is a delicate issue, and it's one that the core maintainers of Conda-Forge will discuss with Anaconda at their meeting at AnacondaCon. It is technically very easy to create such a distribution. However, there are deeper ramifications. One of Anaconda's most important assets is the mindshare of the installed userbase. This mindshare is what leads enterprises to pay for our other products, which is what allows us to contribute back to the community. Efforts to create distributions that can detract from that mindshare can be counterproductive to our ability to contribute to the community. We hope to find a delicate balance that keeps an optimal arrangement between conda-forge and Anaconda. As a corrollary to @dougalsutherland,
Hopefully that's not going to be true too much longer. Using the new compilers will bring us into binary compatibility. We'll also need to maintain that with library versions, of course, but it is an explicit long-term goal for both Anaconda and Conda-Forge. |
@dougalsutherland here are the steps as best as I can recall:
Now when I opened a new terminal I would get an error because the |
There has been discussion about having a conda-forge based installer in issue ( conda-forge/conda-forge.github.io#90 ) and other associated issues. Thoughts on this have been primarily geared towards using an installer in the conda-forge infrastructure not as a user facing installer. Building an installer for general community use is certainly technically achievable with the tools around today. What is less clear is how to design and provide such an installer with the interest of the whole community (which includes Anaconda) at heart. Solving such a problem would require a fair bit of discussion between those within and outside of Anaconda, who (to be explicit) are all members of conda-forge. For clarity, if such an installer were to be pushed, we would want Anaconda to be on board. This is a tricky issue for various reasons, but can understand it would not be obvious at first glance. Also would highlight that developers at Anaconda have spent many long hours to design elegant solutions with conda-forge in particular in mind. All of this done in the open and with close collaboration of people inside and outside of Anaconda. The newer versions of things like |
Ah – I haven't used new versions of conda (since I have conda-forge first in my channels), and use a custom zsh wrapper around conda envs, so I wasn't aware of the new activation stuff. Okay, here's a way to reproduce it, and how to solve afterwards:
So all you have to do to switch over to a fully conda-forge-ified install, until we can get new versions of conda up on conda-forge, is to replace the |
On the subject of having an official Now, regarding @mingwandroid's concern on whether this would be a problem to have such a split, I am not sure at all. After all, It will probably be increasingly difficult to have a continuously updated distribution from the same default channel, and even Anaconda Inc will probably need to version their distribution and make channels target a specific version, just like an Ubuntu package repository is meant for one specific version of ubuntu (artful, xenial, trusty) and PPAs have different flavors of the builds for each ubuntu version. If we end up in such a situation, with different distributions anaconda inc, we can totally have distributions from the community maintained conda-forge. |
@sdmcclure We've had new versions of |
@dougalsutherland sorry, I've found the correct issue and a solution. I'll delete my comment. thanks, |
Thank you. CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://repo.anaconda.com/pkgs/main/noarch/repodata.json.bz2 An HTTP error occurred when trying to retrieve this URL. If your current network has https://www.anaconda.com blocked, please file ConnectionError(MaxRetryError("HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/main/noarch/repodata.json.bz2 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f2eb3081128>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))",),) A reportable application error has occurred. Conda has prepared the above report. |
I solve this problem installing the version 4.6.14 of conda as suggested on this issue 9004 before perform further installs.
It looks like further versions of conda are introducing this error. |
Hi all, this issue is quite old and unlikely to be related to any issues today. Please open a new issue with a reproducer. Thanks! |
I had anaconda3 installed with the default channels.
Then I added
conda-forge
to my config as suggested in https://conda-forge.org/:I did this because I like conda-forge and would like my packages to come from conda-forge rather than the less open anaconda channel.
However, this downgraded conda:
Now there's a huge mess. The following line in my .bashrc no longer works:
conda activate
no longer works. Most conda commands now throw errors. I believe this is due to how conda activation changed in 4.4. Given this upgrade shouldn't it be a high priority to update conda in conda-forge!The text was updated successfully, but these errors were encountered: