GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub?
Subscribe to RSS
Sign in to your account. It might also help to at least give some indication of what it's doing, so it doesn't look like it's hanging. I turned my internet off and I got error messages right away. Obviously slow internet will make anything that uses the internet slow. Skip to content.
Understanding and Improving Conda’s performance
Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up. New issue. Jump to bottom.
The dark mode beta is finally here. Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. My anaconda navigator takes minutes to start Did anyone else notice this problem? I have proxy setting set correctly and I can use conda install with no problem This is how I fixed up the problem, now it takes around 20 second to boot Anaconda Navigator and all the apps :.
Also looks into your Antivirus : they may isolate or block Anaconda because they could see it as a threat. I have one shortcut here, Go to search bar and type jupyter or if you want spyder Type spyderso you can directly open it. No need to start anaconda. I had the same problem. My issue was the ssl verification as I assume my workplace has done something with Firewall or etc. So I took the following two steps to fix it: - open command prompt cmd. Now launch the Anaconda.
If it takes time, wait! It will finally load. I as well had problem of Anaconda Navigator starting after long time mins on my Windows 10 machine. After defining proxy settings in. See if it works for you :. After encountering the same issue stucking at loading apps for 6 minI tried the previous which didn't work.
Furthermore, I have also tried to reinstall anaconda without any success. It works for me, now I do not need to start anaconda navigator and then going to jupyter lab or notebook.
I started Anaconda Navigator with "Run as Administrator" privileges on my Windows machine, and it worked like a charm. Learn more.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. Hi, Every little thing regarding conda is taking more than expected.
Like a simple conda --version is taking sometimes 1 minute and a half. Is it just conda? I'm guessing there's something else going on with your OS that's affecting more than just conda. So basically any python executable is probably going to be having problems for you, right? Is there any way that you know that I can check my OS? I just run one python file here, no problem Any ideia how I can track the problem? The second not so fast. For me a simple conda list takes a while.
But I don't know why it is not taking as long as used to Yeah, that is the profiler's overhead. I also expect a normal execution to take less than So this profiling time doesn't look terribly slow to me.
Maybe there was some temporary state previously that slowed things down, but isn't reproducible anymore. Just to be sure, can you show the output of. Those are some big fluctuations 40 vs 12 s. Both commands should have been more or less equally fast. I guess there is something slowing down the filesystem access on your system e.
I don't think there is anything we can help with this and it is something you'll have to investigate yourself. Things you can try are checking whether.
Do you think all this python are causing this problem?Metadata is currently fed into conda from JSON files either repodata. This is good, in that old environments are can easily be recreated. However, it does mean that the index metadata is always growing, and thus conda becomes slower as the number of packages increase. Either packages need to move to archive channels over time, or the server needs to present a reduced view of all available packages. Conda-metachannel is a community project started by Marius van Niekerk that tries to reduce the size of the repodata that gets fed into conda.
Because all of this happens behind the scenes, and conda-metachannel provides a repodata. These ideas will be critical for future developments on repositories offered by Anaconda, Inc. There is no specific development to point to right now aside from conda-metachannel, but these ideas will be part of future development. After downloading metadata, conda loads the JSON file into memory, and creates objects representing each package.
This loading can be costly, but it is cached, so you often are not paying this cost for a given install.
Further development will be needed to cache entries on some finer level. For especially large channels, such as conda-forge and bioconda, this step can take a lot of time. For example, consider creating a simple environment without a cached index:. Adding in conda-forge and bioconda channels dramatically increase the time spent on the creating the index, while using conda metachannel reclaims a lot of the time increase:. These benchmarks were run on a win system with conda 4.
The repodata we have at this point probably contains a lot of package data that is not used in the solving stage. The next stage, expressing the package data and constraints as a boolean satisfiability problem, is fairly costly, and filtering out unnecessary packages can save some time. Conda starts out with only the explicit specs provided by the user. Conda then recurses through dependencies of these explicit specs to build the complete set of packages that might possibly be used in any final solution.
Packages that are not involved either explicitly or as a dependency are pruned in this step. This step is why it is beneficial to be as specific as possible in your package specifications.
Simply listing a version for each of your specs may dramatically reduce the packages that are considered after this step.
One of the optimizations that was made in conda 4. For example, the anaconda metapackage is made up of all exact constraints version and build string are both specified. With our anaconda metapackage and zlib example, if some other dependency of anaconda expressed a zlib dependency, that zlib dependency would be ignored for expanding the collection of repodata, unless that zlib dependency also had a version and build string specified.
For this reason, we make two careful considerations:. By making this more aggressive, we have decreased the solve time for metapackages, such as anaconda, down to less than 10 seconds in our benchmarks.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. Command: conda install -c conda-forge tensorflow --yes Has taken upwards of 10 minutes to run, if at all - and has been getting slower over time.
Also experiencing the same issue, also with other packages. Conda is slow to the point of being unusable. It was newer really fast, but not like now. Furthermore, this appears to get longer each time I use it.
Now I can't use it at all. I understand closing the issue. But the more people post the more evident that it is a crucial issue to address. If you follow the development that has gone on in the past while, you'll see that we're dedicating a lot of time and effort towards this. It takes time to solve. Please be patient, or even better: participate in development. PS: this issue is closed because more "me too" posts are not helping.
They take attention, but they don't add anything.
Either file a proper speed complaint issue from the template that has information that will help, or keep your peace and let us work on it. Also for reference, some of the recent work that has happened, much of which was mentioned in that blog post:. Will be in conda 4. Future conda 5. Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up.
New issue. Jump to bottom. Copy link Quote reply.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. Conda will never be as fast as pip, so long as we're doing real environment solves and pip satisfies itself only for the current operation.
A more appropriate comparison for performance is yum or apt-get. Unless we've had a major regression, improving performance is a perfectly legitimate feature request, not a bug report. I guess. Even OS packagers like yum or aptitude aren't that slow But this issue doesn't add any value and can be closed, IMHO. Apart from the initial download and extraction which, currently, can mostly only be marginally meaning by a low constant factor be improved by parallelization that.
This was up near a minute before the packages were downloaded, but even with them all in the cache, that's still 15s. Over a minute now, but I have more sympathy here as it's a more complete environment and there were some downloads in there I'd be intrigued to know why what takes you 5s takes me 11s.
My suspicion is still that this is solver slowness, which would explain why in my more complicated production environment this jumps up to s. I agree that problem in particular sounds concentrated in the solver rather than other areas of the code base.
It's hard to tell though without actual profiling data. There's that likely explanation, than a few dozen other edge case explanations that could all be in play.
Conda interacts with a lot of surface area. For anything north of 20 s or so and excluding the time during download and extraction of packagesI agree it's likely time spent by the solver.
That's likely because I didn't include conda-forge in the channel list. Hence, usually conda will need to download and parse the channel's repository index. The is some room for performance improvements regarding the parsing, but that might mean working against the generic and tidy concept that code uses, which wouldn't be very nice.
See the following output for execution times that nearly solely consist of index updates -- without and with conda-forge added. The gist is that adding conda-forge adds approx. I agree that number is at the point where we should start considering improvements. Some type of repodata diff scheme is an obvious option. Or we could consider sharding by package name.
The best way to isolate repodata handling for benchmarking, etc, is to use conda search. Good job!!! I have three different osx machines where I use conda, one of them brand new, and conda is slow enough that I would ditch it if there was a halfway decent alternative. I work on several different projects and need to switch and create environments constantly. It is not acceptable to say, "oh it's probably your system config". Conda should work out of the box on the machines people actually use.
If conda-forge has gotten too large, take it out of the defaults. At least add some documentation about performance. Downloading packages is fast, but conda list takes seconds and that should only be querying my local machine.
Please devote some effort to performance this is getting really frustrating.Conda is the package manager that comes with an anaconda, or miniconda3 distribution. In my experience, Conda does an excellent job managing dependencies and installing new packages, allowing you to install the packages you want and get back to work… eventually. Conda also provides a virtual environment system that allows for generally reproducible execution environments.
Snakemake makes use of this very efficiently. I have previously experienced slow environment solving when trying to update or install packages using the conda command. It appears many people also experience this frustration:.
I typically try and use as small of a Conda environment as possible, but even that can take forever. I recently was configuring a new miniconda install, and wanted to install Snakemake using conda the recommended methodso I followed the directions:.
I thought maybe if I could simplify the command it would take less time. Looking at the Conda documentation I found you can add channels for conda to look through, and even add them to be higher priority or lower priority.
In the end I found that this configuration actually finished:. This seems to drastically reduce the time it take to solve the conda environment and install the package. In the conda documentaiton they mention:. Therefore, you can now safely put channels at the bottom of your channel list to provide additional packages that are not in the default channels, and still be confident that these channels will not override the core package set.
So maybe this solution is not the most stable for large dynamic environments, but for a small, isolated environment, it seems to increase sanity.
In the conda documentaiton they mention: Therefore, you can now safely put channels at the bottom of your channel list to provide additional packages that are not in the default channels, and still be confident that these channels will not override the core package set.