- 示例工程
- 教程
【免费下载链接】c9-python-getting-started
Sample code for Channel 9 Python for Beginners course
导读
本文围绕 c9-python-getting-started 仓库中《Even more Python for beginners - data tools》系列的第 02 课文档展开,系统讲解 Anaconda 发行版与 Conda 包/环境管理工具的核心概念与实战用法。读完本文,你将掌握 Anaconda 的组成结构(Navigator、Prompt、Conda)、Conda 管理环境与安装包的基本操作,并能理解本课程全部 Jupyter Notebook 示例在 Anaconda 环境下的运行前提与依赖关系。
Anaconda:开箱即用的数据科学 Python 发行版
Anaconda 是一个面向数据科学(data science)的开源 Python 与 R 语言发行版。它与普通 Python 安装器的最大区别在于"开箱即用":官方发行版内置了超过 1500 个常用包,覆盖数值计算、数据分析、可视化、机器学习等数据科学主流程所需的大多数第三方库,无需逐个手工安装。
从本课程的定位看,Anaconda 的价值正好契合其教学内容。系列课程 README 明确列出课程要学习的工具栈:
- Jupyter Notebook:数据科学家常用的交互式笔记工具;
- pandas:用于管理和探索数据;
- NumPy:用于数组与数值计算;
- scikit-learn:用于机器学习建模。
这四者恰恰都是 Anaconda 发行版内置包清单中的核心成员,安装 Anaconda 后即可直接进入后续课程,而无需先花时间解决依赖冲突。
Anaconda 的三大组成部分
Anaconda 并非单一程序,而是由以下三个相互配合的组件构成:
| 组件 | 类型 | 作用 |
|---|---|---|
| Anaconda Navigator | 图形化界面(GUI) | 可视化地启动和管理 Jupyter Notebook、安装包、创建/切换环境,适合不熟悉命令行的新手 |
| Anaconda Prompt | 命令行界面(CLI) | 在 Windows 上提供预置好 Conda 路径的命令行窗口,可执行 conda 系列命令 |
| Conda | 命令行工具 | 底层负责包安装与环境管理的核心工具,Navigator 与 Prompt 的许多操作最终都由它完成 |
三者分工明确:Navigator 降低使用门槛,Prompt 提供熟悉命令行操作者的入口,Conda 则是真正执行"安装包、管理环境"任务的引擎。
Conda:包管理与环境管理的统一解决方案
Python 代码往往依赖存储在包(package)中的外部库——本课程中import pandas、from sklearn.linear_model import LinearRegression等语句背后的 pandas、scikit-learn 都属于这类外部包。当项目增多后,不同项目可能需要不同版本的同一库,若全部安装到全局环境极易产生依赖冲突。
Conda 正是为解决这些问题而设计的开源包管理系统(package management system)兼环境管理系统(environment management system)。它同时承担两类职责:
- 包管理:负责搜索、安装、升级、删除第三方包,并自动解析依赖关系;
- 环境管理:允许你创建相互隔离的独立 Python 环境,不同环境可以安装不同版本的解释器与库,互不干扰。
本课程文档特别强调:Conda 帮助管理环境并为Jupyter Notebook安装包。这是因为课程中的全部代码示例都运行在 Jupyter Notebook(.ipynb 文件)中,而 Notebook 依赖内核(kernel)来执行 Python 代码,内核所处环境中的已安装包直接决定了 Notebook 里可以 import 什么。
本课程对 Conda 的实际依赖:来自仓库源码的证据
Notebook 内核与 Python 版本
课程中每一个练习 Notebook 都在元数据中声明了运行内核。以 03 - Pandas Series and DataFrame.ipynb 为例,其内核信息为:
"kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.6.9" }从源码结构看,kernelspec中的name: python3即表示该 Notebook 绑定到名为 Python 3 的 Jupyter 内核;language_info.version记录的 3.6.9 是该示例运行时的 Python 版本。同一信息在 04、05、07 等系列 Notebook 中保持一致,说明整套课程是在一个统一配置的 Python 3 环境中运行——这正是 Conda 环境管理发挥作用的具体场景。
依赖库安装位置指向 Anaconda 环境
更有力的证据出现在 07 - Read write CSV files.ipynb 的错误堆栈中。当读取 CSV 出现异常时,pandas 抛出的调用栈记录了库文件的安装路径:
~\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(...) ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(...)堆栈中的Anaconda3\lib\site-packages\路径直接证明:该课程示例环境中的 pandas 正是通过 Anaconda 发行版安装的——它位于 Anaconda 的默认 site-packages 目录下,而非独立安装的 Python 解释器。这是 Anaconda"内置 1500+ 常用包"这一特性在本仓库中的直接体现。
课程依赖栈一览
将系列各 Notebook 中的 import 语句汇总,即可看到本课程完整的技术依赖栈:
| 依赖库 | 首次出现的课程示例 | 典型用途 |
|---|---|---|
| pandas | 03 - Pandas Series and DataFrame.ipynb(import pandas as pd) | DataFrame 数据管理与探索 |
| numpy | 13 - Evaluate accuracy.ipynb(import numpy as np) | 计算 RMSE 平方根等数值运算 |
| scikit-learn | 10 - Train Test split.ipynb(from sklearn.model_selection import train_test_split) | 训练/测试集划分、线性回归建模 |
| matplotlib | 15 - Visualizing correlations.ipynb(import matplotlib.pyplot as plt) | 数据相关性可视化 |
以 11 - Train a basic model.ipynb 的建模代码为例:
from sklearn.linear_model import LinearRegression regressor = LinearRegression() # 创建 scikit-learn 的 LinearRegression 对象 regressor.fit(X_train, y_train) # 使用 fit 方法在训练数据上训练模型在 Anaconda 环境下,这类代码无需任何额外安装即可运行;若使用最小化 Python 环境,则必须先执行pip install pandas scikit-learn或conda install pandas scikit-learn。
Conda 环境与包管理核心操作
原文档通过官方文档链接给出了三大操作主题,这里将其整理为可直接上手的关键要点(以下命令适用于 Anaconda Prompt 或任意已初始化 Conda 的终端):
管理 Conda 环境
Conda 环境管理的核心流程为"创建 → 激活 → 使用 → 停用",配套常用命令如下:
| 操作 | 命令 | 说明 |
|---|---|---|
| 创建环境 | conda create --name myenv python=3.8 | 新建名为 myenv 的环境,并指定 Python 版本 |
| 激活环境 | conda activate myenv | 切换当前终端到目标环境 |
| 停用环境 | conda deactivate | 退出当前环境,回到 base 环境 |
| 查看环境列表 | conda env list | 列出所有已创建的环境及其路径 |
| 删除环境 | conda env remove --name myenv | 移除不再需要的环境 |
激活环境后,该环境内的python、jupyter等命令及其所安装的包都会自动成为当前会话的可用资源。本课程 Notebook 所需的 pandas、scikit-learn 等依赖,就是在对应激活环境中安装并生效的。
在环境中安装包
激活目标环境后即可安装包,常用形式:
| 操作 | 命令 | 说明 |
|---|---|---|
| 安装包 | conda install pandas | 在当前环境安装 pandas,并自动解析依赖 |
| 指定版本安装 | conda install numpy=1.19.5 | 安装指定版本的包 |
| 安装多个包 | conda install pandas scikit-learn matplotlib | 一次安装多个包,Conda 会统一求解依赖 |
| 更新包 | conda update numpy | 将包升级到当前源中的最新版本 |
| 查看已安装 | conda list | 列出当前环境所有已安装的包 |
对于 Notebook 场景,若环境缺少 Jupyter 内核,还需要通过conda install jupyter(或ipykernel)将 Notebook 内核注册进环境,之后才能在该环境中选择对应的内核运行课程中的 .ipynb 文件。
Conda cheat sheet 速查表
Conda 官方提供了覆盖上述全部常用命令的速查表(cheat sheet),适合作为日常高频命令的快速参考,包括环境创建/激活/停用、包搜索/安装/更新/删除、源配置与导出等常用指令。建议将其保存为本地备忘录,与本文的表格配合使用。
Conda 与 pip:两条包安装路径的选择
本仓库中另一个值得对照的细节是 more-python-for-beginners/requirements.txt,其内容为:
aiohttp requests这个文件列出了通过pip install -r requirements.txt安装的依赖,说明仓库中同时存在 pip 与 conda 两条依赖管理路径,二者各有适用场景:
| 对比维度 | conda | pip |
|---|---|---|
| 包来源 | Conda 官方源/自定义渠道(channel) | PyPI(Python 包索引) |
| 包类型 | Python 包及部分二进制依赖(如科学计算库) | 主要为 Python 包 |
| 依赖解析 | 对包及其底层二进制依赖统一求解 | 主要解析 Python 层依赖 |
| 环境管理 | 内置环境管理系统,可隔离 Python 版本 | 常配合 venv/virtualenv 使用 |
| 适用场景 | Anaconda 数据科学环境、跨语言依赖 | 通用 Python 项目、PyPI 独有包 |
对本课程而言,Anaconda 发行版已内置 pandas、NumPy、scikit-learn、matplotlib 等全部数据科学依赖,通常无需再借助 pip;而当引入 PyPI 独有或版本更新更快的库时,pip install与 requirements.txt 则是更直接的选择。两种工具可以共存于同一环境,但需注意尽量避免混用导致依赖状态不一致。
安装 Anaconda 后如何开始本课程
在 Anaconda 环境中运行本课程 Notebook 的推荐路径如下:
- 安装 Anaconda:从 Anaconda 官网下载对应操作系统的安装包并完成安装,安装过程会同时部署 Navigator、Anaconda Prompt 与 Conda;
- 启动环境:通过 Anaconda Navigator 的 Launch 按钮启动 Jupyter Notebook,或在命令行执行
jupyter notebook; - 打开示例:在 Notebook 界面中定位到仓库的
even-more-python-for-beginners-data-tools目录,打开任一.ipynb文件,确认内核为Python 3; - 按需安装额外包:若在某一课程中遇到
ModuleNotFoundError,先确认环境是否激活,再使用conda install <包名>补齐缺失依赖; - 配套数据文件:课程示例还依赖随仓库分发的 CSV 数据(如 07 课的 airports.csv),确保 Notebook 与数据文件位于同一目录或调整读取路径。
小结
Anaconda 与 Conda 是数据科学 Python 开发的基石:Anaconda 提供包含 1500+ 包的"全家桶"发行版与 Navigator/Prompt 两种操作入口,Conda 则提供包管理与环境管理的统一命令行能力。本课程的全部 Jupyter Notebook 示例正是在 Anaconda 环境之上运行 pandas、NumPy、scikit-learn、matplotlib 等技术栈,其中 Notebook 元数据声明的python3内核、错误堆栈中指向Anaconda3\lib\site-packages\pandas的路径,都是这套环境的直接证据。掌握环境创建、激活、停用与包安装的核心命令后,你就能为后续课程(pandas 入门、Jupyter Notebook 等)准备好稳定、可复现的运行环境。
- 示例工程
- 教程
【免费下载链接】c9-python-getting-started
Sample code for Channel 9 Python for Beginners course
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考