Keeping your Conda Environments Safe and Secure with your Anaconda Nucleus Account
A little over a year ago, we launched our Nucleus community to connect data science practitioners with the developers of their favorite Python packages, learners in the community, and each other. Today, I’m here to talk about some new capabilities we’ve just added to Nucleus and Anaconda Navigator that enable practitioners to stay more connected.
The benefit of any cloud platform is not just the ability to access content anywhere but also the ability to contribute, share, and synchronize content across your devices—and that’s where our new Conda environment sync comes in. You can now back up Conda environments from your local machine and store them in Nucleus for free. This will make it easier to sync across machines and will also prevent the loss of important environments.
Conda Environments Explained
In addition to Conda being the package manager that delivers packages that just work, Conda is also a great tool for managing virtual environments out of the box. Similar to pyenv or virtualenv, Conda gives you the ability to specify and manage various development environments with different versions of applications, tools, and packages all on one machine without creating conflicts.
Each Conda environment specifies the Python (or R) versions to use as well as all of the packages needed, and which specific versions meet your needs. They keep your requirements for each project contained and help you manage various projects and their unique dependencies. I won’t go into the numerous ways that virtual environments enable reproducible and reliable work. Still, the bottom line is that they’re critical to almost any developer or data scientist’s workflow.
With our latest release of Anaconda Navigator, we’re giving you the ability to back up your environments to the cloud and import them back onto the same or a different machine. You can use this to checkpoint your work, keep a copy for disaster recovery, or migrate from machine to machine. Read on to see how.
How to Back Up Your Environments
Before we get started, you’ll need to have a few things set up:
- An Anaconda Nucleus account
Sign up for your free account at https://anaconda.cloud/sign-up
- Version 2.1.0 of Anaconda Navigator installed
If you don’t have Conda or Navigator, you can find our installers under Installers in the Nucleus top navigation.
Make sure you have the latest version by running `conda update anaconda-navigator` in a terminal.
- An existing environment that you want to back up
If you don’t have an environment to back up, you can create a new one with the Create button in the Environments section of Navigator.
Once you’ve got everything set up, head over to the Environments section of Navigator, pick the environment you want to back up, and click the Backup button at the bottom.
You should now see an option to back up either to local drive or Anaconda Nucleus (if you’re not signed in to Nucleus, there’s a link to do that under the Nucleus option)
From there, you can select the name you’d like to use for the backup and whether you want to overwrite any backups with the same name on your Nucleus account.
Go ahead and back up, and you should get a success pop-up.
Now let’s head over to Nucleus to see your new backup. From your profile, head over to Subscriptions then Environments, and you can see your backup.
It’s in the cloud—Success!
From here, I’ll leave the import process to you, but it’s as easy as clicking Import from the Environments screen in Navigator, then selecting your backup and what to name it.
Our goal was to provide a small but significant step towards linking your local workspace to your Nucleus account, but we’re not done. Near-term, we’ve planned several changes to environment sync to make it easier to use, more flexible, and more capable. Many of those changes are coming in the next few months.
Longer-term, we hope that this can expand to augment more of your workflow. Our ultimate goal is to use the Nucleus platform not only to connect all of your environments and devices together, but to connect you to others and give you the ability to learn, share, collaborate, and contribute with data scientists, developers, and engineers anywhere. Please join Nucleus and give us your feedback on GitHub as we’re always looking to improve and make it a better place for our community.