3 min read

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.

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.

Major improvements

  • This release comes with clean output for conda <COMMAND> –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

Major Changes

  • 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.

Bug fixes

  • 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.

Read Next

Anaconda 5.3.0 released, takes advantage of Python’s Speed and feature improvements

Share projects and environment on Anaconda cloud [Tutorial]

Visualizing data in R and Python using Anaconda [Tutorial]