Python Tutorial: Anaconda - Installation and Using Conda
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.
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?
What’s the tradeoff between the full Anaconda distribution and mini conda?
How does conda differ from pip in what it can install?
How do conda environments prevent conflicts between projects?
How can conda run the same project stack with a different Python version?
Review Questions
- What specific components does Anaconda bundle, and which two of them are central to package and environment management?
- Describe the steps used to verify that Anaconda installed correctly and that packages like numpy and matplotlib are available.
- How does creating separate conda environments change what pip list shows and which Python interpreter is used?
Key Points
- 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
Switching to Anaconda is optional; pip remains available for adding packages after installation.
- 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
conda provides package management and can install non-Python dependencies, not just Python packages.
- 5
Conda environments isolate dependencies and can prevent version conflicts across multiple projects.
- 6
Environment activation differs by OS: source activate / source deactivate on macOS/Linux, while Windows uses activate / deactivate.
- 7
Conda supports pinning Python versions per environment (e.g., creating an environment with python=2.7).