Windows Subsystem for Linux (WSL) is a great way of running a Unix environment on a Windows machine. I tend to work on cases involving large scale data science, but am, like most corporate users, tied to a Windows machine. Having access to a fully-fledged Unix environment is key to productivity and work pleasure. In this guide I will show you how to install Anaconda on WSL from scratch.
Anaconda is the environment and package manager for Python. It enables you to install and manage the typical Python’esque data science tools such as TensorFlow and numpy. It is available as a Windows installer, but running anaconda from the Windows command line is clunky and doesn’t feel right (at least not after ~18 years of Unix muscle memory). For me, it helped installing conda inside of WSL in order to continue working with my favorite tools.
Step 1: enable WSL feature in Windows 10
First step is to install WSL itself if you haven’t already done so. Installation has two parts – first you enable the WSL in Windows 10, then you install your Linux distribution of choice, which plugs in to the WSL shell. WSL is responsible for translating the Linux (POSIX) syscalls into something the NT kernel can understand and vice versa.
Open powershell.exe and enable the WSL feature:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
This should take a while, so grab a cup of coffee.
Step 2: install Ubuntu
Once done, you can install Ubuntu in two ways: via the Microsoft Store or by running bash.exe. For the later, [ress Windows-key + R, enter ‘ bash.exe’ followed by enter. This will install the Ubuntu on top of WSL.
Step 3: download and install Anaconda
Once installed, open browser and go to https://www.anaconda.com/download/#linux
Pick 64-bit for Linux (not Windows). I prefer Python 3.7 as 2.7 is old, but you may need it for specific / good reasons.
Instead of downloading in the browser, right-click the button and select ‘copy link’. Go back to the terminal window and download the installer from the command line. We want to do this as it is easier than copying the file into your Linux home directory from your Windows downloads directory.
Resolving repo.continuum.io (repo.continuum.io)... 184.108.40.206, 220.127.116.11, 2606:4700::6810:120a, ...
Connecting to repo.continuum.io (repo.continuum.io)|18.104.22.168|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 684237703 (653M) [application/x-sh]
Saving to: 'Anaconda3-2018.12-Linux-x86_64.sh’
100%[===================================================================================================================================================================================================>] 684,237,703 19.5MB/s in 39s
2019-01-17 14:09:03 (16.6 MB/s) - 'Anaconda3-2018.12-Linux-x86_64.sh’ saved [684237703/684237703]
Make the file executable and run it:
chmod +x Anaconda3-2018.12-Linux-x86_64.sh
Some text will fly by. Grab another cup of coffee after you have answered a few questions. If you use bash, remember to key ‘yes’ to add conda to your path, so you can resolve the binary from within your path (usually inside ~/anaconda).
Step 4: create a new environment and install packages
Create a new environment and install your desired packages into it:
conda create -n newenv
conda activate newenv
conda install tensorflow
And you are done. Happy coding!