Conda is in Trouble
Recently, PyTorch announced that its version 2.5 will be the last release available on their official Anaconda (-c pytorch) channel. This particular decision stems from the high maintenance costs associated with Conda builds, which, according to PyTorch, are not justified by the relatively low usage compared to the higher download counts from PyPI. “PyTorch will stop publishing Anaconda packages that depend on Anaconda’s default packages due to the high maintenance costs for conda builds which are not justifiable with the ROI we observe today (as seen in download discrepancies between PyPI vs. Conda),” said Eli Uriegas, an engineering manager at PyTorch, on GitHub. “We are directing users to utilise our official wheel packages from download.pytorch.org or PyPI, or switch to utilising Conda-forge (pytorch-cpu, pytorch-gpu) packages if they would like to continue using Conda,” Uriegas added. Key Points Deprecation timeline: As of November 18, 2024, nightly builds for PyTorch core and its domain libraries on the Anaconda channel were discontinued. Pip wheels: Users are encouraged to install PyTorch using pip wheels, which are now available on PyPI and download.pytorch.org. Conda-forge: For those preferring Conda, PyTorch packages are maintained on Conda-forge under pytorch-cpu and pytorch-gpu. This announcement has triggered a strong response from users. For instance, an X user commented, “TFW (that feeling when) you barely came to a stable install procedure that yields consistent results. Aaaaaaaaand [sic] back to square one.” “I have to confess that the only way I have been able to use my GPU on PyTorch has been through Conda,” another user said. In contrast, another user said, “Let Conda sink in. It never worked for anyone longer than one month, let’s be honest.” FeaturepipCondaPrimary UsePython package managementGeneral-purpose package managementEnvironment MgmtExternal tools requiredBuilt-inDependenciesPython-onlyPython + system librariesRepositoriesPyPIConda, Conda-forgeSpeedSlower for compiled pkgsFaster with pre-compiled binariesScopePython ecosystemMulti-language ecosystem The main difference between the two is that while Conda is language-agnostic and a cross-platform environment manager, pip is a general-purpose manager for everything Python. If all your work is with Python packages within isolated environments, conda and pip+virtualenv are mostly replaceable. Pip, however, offers the same advantages as any tool with a massive pre-existing community does. Users who prefer the standard venv or virtualenv over Conda are more likely to find solutions to their queries or errors on StackOverflow, simply because pip is already used by more people. Another advantage of pip is that it has already been extensively battle-tested and is consequently believed to be more robust. Conda might have errors that users may have never found with pip, building the perception that pip is simply more reliable. Why Use Conda? Conda was introduced as an alternative to Python’s native package manager pip, which comes pre-installed with the most recent versions of Python. However, Conda hasn’t gathered enough widespread acclaim to make its use seem inevitable. Author and MLOps expert Noah Gift questioned how popular Conda was among AWS Sagemaker users and what good it would do to install it when pip was already installed. The collective response to this is as scattered as it could be. Deep learning researcher and PhD scholar Sebastian Raschka stated that he preferred the Conda environment after having tried all other combinations. “Pip and virtualenv allow you to install packages in virtual environments with different requirements, but it doesn’t help you do the same with different Python versions. For that, you would need pyenv (a tool for managing different versions of Python)…That can get pretty messy real quick if you are not careful,” Raschka added. The community hails Conda’s convenience as one of its biggest strengths. Developers can install their packages and manage the environments using the same tool. With pip, however, users have to use another external tool to manage the environments.
Conda hasn’t gathered enough widespread acclaim to make its use seem inevitable.
Conda hasn’t gathered enough widespread acclaim to make its use seem inevitable.
["Python", "Pytorch"]
["Pytorch", "AWS", "AI", "PyTorch", "ML", "MLOps", "RAG", "Python", "Aim", "deep learning", "R"]
["AI", "ML", "deep learning", "MLOps", "Aim", "PyTorch", "RAG", "AWS", "Python", "R"]
Shalini is a senior tech journalist, exploring the latest advancements in AI. When she's not reporting on the latest innovations, you can find her immersed in her next literary adventure.