Get AI summaries of any video or article — Sign up free
Python Tutorial: Anaconda - Installation and Using Conda thumbnail

Python Tutorial: Anaconda - Installation and Using Conda

Corey Schafer·
5 min read

Based on Corey Schafer's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Anaconda is a data-science-focused Python distribution that bundles Python, conda, and many pre-installed libraries such as numpy and Jupyter Notebook.

Briefing

Anaconda is pitched as a practical shortcut for getting a working Python data-science setup—complete with common libraries, environment management, and a package manager—without manually stitching everything together. Instead of feeling forced to abandon pip, the core value is convenience: many beginners run into installation and dependency problems, and Anaconda bundles a large, data-focused toolkit (including numpy and Jupyter Notebook) plus conda for managing packages and environments.

The tutorial starts by clarifying what Anaconda actually includes: a Python distribution, the conda package manager, tools for separating environments, and a broad set of pre-installed libraries geared toward data science. It then addresses the most common question—why use Anaconda at all. The answer is pragmatic rather than ideological: if someone is already comfortable installing packages with regular Python and pip, there’s no urgent need to switch. But for data science learners, classrooms, and teams that need consistent setups across machines, Anaconda reduces friction around installing Python on multiple platforms, handling permissions, and ensuring the right package versions are available.

Installation begins at the Anaconda download page, where users can check the list of pre-installed packages. The tutorial notes that the full Anaconda distribution can take significant disk space because it includes many libraries up front. For those with storage constraints, a smaller alternative called “mini conda” is mentioned as a bootstrap option that installs essential components (Python distribution essentials and conda), though the walkthrough proceeds with the full installer.

After downloading the macOS graphical installer, the process is largely “click through defaults.” Once installed, the tutorial verifies success by checking that Python is on the system path and that the active Python comes from the Anaconda distribution. It confirms package availability by importing numpy and matplotlib in a Python session. From there, it shows how pip still works for adding packages later, using pip list to inspect what’s already installed.

The focus then shifts to conda as Anaconda’s built-in package manager. Commands like conda list, conda search, and conda install are presented as close cousins to pip’s workflow, with conda also capable of installing non-Python dependencies. The tutorial highlights conda’s environment management as a major differentiator: separate projects can require different versions of Python and libraries, so isolated environments prevent version conflicts.

To demonstrate, it creates a new environment named “my app” with starting packages flask and sql alchemy, then activates it (using source activate on macOS/Linux). Inside that environment, pip list shows only the environment’s packages, and which Python confirms the interpreter path is now environment-specific. It also covers deactivation (source deactivate). A second environment, “my app 2.7,” is created using python=2.7 to show how conda can pin a different Python version for the same project stack.

Finally, the tutorial shows how to list environments with conda env list and remove them with conda remove, then ties the setup back to real use cases: Jupyter Notebook is commonly recommended alongside Anaconda because, after installation, the command jupyter notebook can launch notebooks immediately. The takeaway is that Anaconda isn’t mandatory, but it can be a strong starting point for data science workflows where consistency and dependency management matter.

Cornell Notes

Anaconda bundles a Python distribution, the conda package manager, and many data-science libraries (like numpy and Jupyter Notebook) so users can get a working setup quickly. The tutorial emphasizes that Anaconda is optional—pip is still available—but conda adds environment management that helps avoid dependency and version conflicts across projects. Using conda, users can create isolated environments (e.g., one for a Flask app) and activate them so that only the environment’s packages are visible. It also demonstrates pinning different Python versions per environment, such as creating an environment that uses Python 2.7. This matters for data science and classroom settings where consistent, reproducible setups reduce installation headaches.

Why would someone choose Anaconda over installing Python packages directly with pip?

Anaconda is mainly a convenience option for data-science workflows. It ships with a Python distribution plus conda for package management and environment separation, along with many pre-installed libraries commonly used in data science (for example numpy and Jupyter Notebook). That reduces common beginner problems like dependency mismatches, installing on multiple platforms, and dealing with permissions. It’s also useful in classrooms because students can share a consistent setup. The tutorial stresses there’s no obligation to switch if pip-based installs already work well.

What’s the tradeoff between the full Anaconda distribution and mini conda?

The full Anaconda distribution includes many packages out of the box, which can take up substantial disk space. mini conda is described as a smaller bootstrap version that installs essential components—Python distribution essentials and conda—so users can avoid downloading everything up front. The walkthrough proceeds with the full installer, but the space tradeoff is explicitly called out.

How does conda differ from pip in what it can install?

Both tools support similar workflows (listing, searching, installing). The key difference highlighted is that conda can install non-Python packages and dependencies, which pip may not handle as directly. That makes conda useful when a project needs system-level or compiled dependencies alongside Python libraries.

How do conda environments prevent conflicts between projects?

Environments isolate package sets and even Python versions per project. Instead of forcing all projects to share one global set of installed packages, conda lets users create separate environments with the specific versions they need. The tutorial demonstrates this by creating an environment named “my app” with flask and sql alchemy, activating it, and then showing that pip list only reflects packages installed in that environment.

How can conda run the same project stack with a different Python version?

When creating an environment, conda can pin a Python version using a parameter like python=2.7. The tutorial creates “my app 2.7,” activates it, and then runs python to confirm the interpreter inside the environment is Python 2.7. This approach avoids breaking other projects that rely on a different Python version.

Review Questions

  1. What specific components does Anaconda bundle, and which two of them are central to package and environment management?
  2. Describe the steps used to verify that Anaconda installed correctly and that packages like numpy and matplotlib are available.
  3. How does creating separate conda environments change what pip list shows and which Python interpreter is used?

Key Points

  1. 1

    Anaconda is a data-science-focused Python distribution that bundles Python, conda, and many pre-installed libraries such as numpy and Jupyter Notebook.

  2. 2

    Switching to Anaconda is optional; pip remains available for adding packages after installation.

  3. 3

    The full Anaconda install can be disk-heavy because it includes many packages up front, while mini conda is a smaller bootstrap alternative.

  4. 4

    conda provides package management and can install non-Python dependencies, not just Python packages.

  5. 5

    Conda environments isolate dependencies and can prevent version conflicts across multiple projects.

  6. 6

    Environment activation differs by OS: source activate / source deactivate on macOS/Linux, while Windows uses activate / deactivate.

  7. 7

    Conda supports pinning Python versions per environment (e.g., creating an environment with python=2.7).

Highlights

Anaconda’s main appeal is reducing setup friction by bundling a ready-to-use data-science Python distribution plus conda and common libraries.
conda environments let projects use different package versions—and even different Python versions—without interfering with each other.
After installing Anaconda, Jupyter Notebook can be launched directly via the jupyter notebook command.
The tutorial verifies installation by checking that Python comes from the Anaconda distribution and that imports like numpy and matplotlib succeed.

Topics

  • Anaconda Installation
  • Conda Package Manager
  • Conda Environments
  • Python Version Pinning
  • Jupyter Notebook Setup

Mentioned