On Monday, the team at Anaconda released a new version of Conda, an open source package management and environment management system that runs on Windows, macOS, and Linux. Conda 4.6.0 comes with support for more shells, better interoperability, improved Conda search and more.
The latest set of major Conda improvements are here, with version 4.6https://t.co/P5pYtatYDU
— Anaconda (@anacondainc) January 28, 2019
What’s new in Conda 4.6.0
Support for more shells
Conda 4.6.0 comes with extensive initialization support so that more shells can use the conda activate command. It also comes with added support for PowerShell. This release comes with “conda init” functionality which gets Conda working quickly and less disruptively on a wide variety of shells such as zsh, bash, csh, fish, xonsh, and more.
Improving interoperability with pip
Conda 4.6.0 comes with added preview support for better interoperability. This release uses pip-installed packages to satisfy dependencies. It is possible to remove pip-installed software and replace them with Conda packages when appropriate.
Note: This feature is disabled by default right now because it can significantly impact Conda’s performance. If you’d like to try it, you can set this condarc setting: conda config –set pip_interop_enabled True
Activation of a single environment
This release provides an ideal situation where a single environment can be active at any given time.
Conda search gets better
License and license_family have been added to MatchSpec for conda search.
Enhanced fish shell
This release features autocompletion for conda env to the fish shell.
- This release comes with clean output for conda
–help and conda config –describe.
- In Conda 4.6.0, https://repo.anaconda.com/pkgs/pro has been removed from the default value for defaults.
- Reference to ‘system’ channel has been removed from this release.
- This release comes with http error body to debug information.
- Creating env name with space is no more supported.
- This release supports MatchSpec syntax in environment.yml files.
- With this release, the name of ‘condacmd’ dir has been changed to ‘condabin’.
- It is now possible to disable timestamp prioritization when not needed.
- In this release, repodata has been cached as UTF-8 for handling unicode characters.
- Performance of Conda 4.6.0 has been improved to cache hash value on PackageRecord
- In this release, ‘conda env attach’ and ‘conda env upload’ have been removed.
- This release comes with deprecation warnings for ‘conda.cli.activate’, ‘conda.compat’, and ‘conda.install’.
- Env name with colon is now supported.
- In Conda 4.6.0, the default value of max_shlvl has been changed to 0.
Non-user facing changes
- With OO inheritance, activate.py has been cleaned up.
- The pep8 project has been renamed to pycodestyle.
- This release comes with copyright headers.
- In the previous releases, the verify step of conda used to hang for a long time while installing a corrupted package. This has been fixed.
- In this release, the progress bar uses stderr instead of stdout.
- It is now possible to pin a list of packages by adding a file named ‘pinned’ to the conda-meta directory with a list of the packages that the user don’t want to update.
To know more about Conda 4.6.0, check out the official announcement.