1.1 搭建 Python 数据科学环境


1.1 搭建 Python 数据科学环境

本节摘要:Python 数据科学环境的核心是"Anaconda + 虚拟环境 + 常用科学计算库"。本节从安装讲起,带你创建并激活虚拟环境、装好 numpy 与 pandas,最后跑通第一行数据代码。环境搭对了,后面所有章节的代码才能顺畅运行。

本节目标

阅读完本节,你应当能够:

  1. 区分 Anaconda 与 Miniconda,说明各自适用场景
  2. 独立完成安装与安装验证,用 conda 查看版本
  3. 创建、激活、退出、删除虚拟环境,理解其隔离原理
  4. 用 conda 与 pip 安装库,知道什么时候用哪个
  5. 跑通"读入一个数组并求和"的第一段数据科学代码

一、问题与直觉

数据科学新手遇到的第一个坑往往不是语法,而是"代码在我机器上跑不起来"。装库的时候提示版本冲突、import pandas 报错找不到模块、项目 A 要 Python 3.8 项目 B 要 3.11——这些问题有一个共同的根源:所有项目共用一套环境,互相打架

可以这么理解:把 Python 环境比作厨房,库比作调料。如果几十道菜共用同一个调料柜,你给红烧肉加了一罐新酱油,可能就把糖醋排骨的味道毁了。虚拟环境就是给每道菜准备一个独立调料柜——互不干扰,做坏了扔掉重来也不心疼。

二、核心原理

2.1 先选发行版:Anaconda 还是 Miniconda

Python 本身只是一个解释器,数据科学要用的库需要一个个装。Anaconda 是打包好的发行版,自带 conda 包管理器、Python 解释器和几百个常用科学计算库,装上就能用;缺点是体积大(几个 GB)。Miniconda 只带 conda 和 Python,其他库按需安装,轻量干净。

一个实用的选择标准:图省事、硬盘不紧张就选 Anaconda;想保持环境干净、知道自己在装什么就选 Miniconda。本教程两种都兼容,后面所有命令在两者上运行结果一致。

2.2 conda 与 pip:两个包管理器怎么分工

conda 不只管理 Python 库,还能管理 Python 版本本身和其他软件,而且会自动解决依赖冲突、自带预编译的科学计算库(numpy、scipy 等,装了就能用,不用自己编译)。pip 是 Python 官方的包管理器,库的种类和更新速度更快。

场景判断: 需要 numpy / pandas / scipy 这类科学计算核心库 ──> 优先 conda install 需要某个 pip 独有或更新更快的小库 ──> pip install 两者混用同一个环境 ──> 可能踩版本冲突,务必谨慎

2.3 虚拟环境的隔离原理

conda 创建环境时,会在环境的独立目录里放一套完整的 Python 解释器和库。激活环境就是让 shell 的 PATH 指向这个目录;退出环境则恢复系统默认。不同环境的库互不可见,所以 A 项目升 pandas 到新版不会影响 B 项目。

三、工程实践要点

3.1 安装与验证

在官网下载对应操作系统的 Anaconda 或 Miniconda 安装包,一路默认安装。Windows 上建议勾选"加入 PATH"(部分版本默认不勾,装完需要手动配置)。安装完成后,打开终端验证:

conda --version python --version

能看到 conda 与 Python 版本号即安装成功。

⚠️ 常见坑:Windows 上"conda 不是内部或外部命令",多半是没加 PATH。重装时勾选注册 PATH,或手动把 conda 的 Scripts 目录加进系统环境变量。

3.2 创建并激活虚拟环境

# 创建一个 Python 3.11 的环境,名字叫 ds 即 data science conda create -n ds python=3.11 # 激活 conda activate ds # 退出 conda deactivate # 查看所有环境 conda env list

激活成功后,终端提示符前面会出现 (ds),说明当前 shell 已经在这个环境里了。

💡 关键直觉:每次打开新终端干活,先看一眼提示符有没有 (ds)。忘了激活就在原环境装包,是"装完了却不认识"的头号原因。

3.3 安装核心库

conda activate ds conda install numpy pandas matplotlib seaborn jupyterlab scikit-learn

如果某些库在 conda 频道里没有或版本太旧,用 pip 补装:

pip install 包名

安装完检查一遍:

conda list | grep -E "numpy|pandas|matplotlib|seaborn"

⚠️ 常见坑:conda 与 pip 混用同一环境,偶尔会出现"pip 装的库 conda 看不见"。规范做法是:科学计算核心库用 conda,其余一律用 pip,别反复横跳。

3.4 环境的分发与复现

环境搭好后,把依赖清单导出来,别人拿到就能一键复现:

conda env export > environment.yml # 或导出 pip 格式 pip freeze > requirements.txt

换台机器时用 conda env create -f environment.ymlpip install -r requirements.txt 重建。这既是团队协作的标配,也是防止"我机器上能跑"魔咒的办法。

3.5 跑通第一段数据代码

环境装好后,用一段最简单的代码验证整条链路。假设我们有一份电商订单金额列表,用 NumPy 读进来算个平均值:

import numpy as np # 模拟某天 6 笔订单的金额(单位:元) amounts = np.array([199.0, 89.5, 399.0, 59.9, 1299.0, 45.0]) print("订单总数:", amounts.size) print("总销售额:", amounts.sum()) print("客单价:", amounts.mean())

能输出"订单总数 6 / 总销售额 2091.4 / 客单价 348.57"这样带数字的结果,说明 numpy 安装正确、环境可用。这就是我们整个教程的第一块基石。

3.6 常见问题速查

现象 原因 解法
import numpy 报 ModuleNotFoundError 没激活环境或库没装 激活环境后 conda install numpy
conda 下载慢 默认源在国外 换清华/阿里镜像源
装库时版本冲突报红 环境里已有冲突包 新建干净环境,按 3.2 重建
环境激活后 python 版本不对 基环境被污染 别在 base 里装东西,一律用新环境

3.7 国内镜像源配置

conda 默认从国外源下载,在国内经常慢到怀疑人生。换镜像是最快的一步,一次配置全局生效。清华与阿里都提供开源镜像站,把对应的频道地址添加进 conda 即可:

# 把下面两个地址替换为镜像站实际提供的 conda 频道地址 conda config --add channels 清华conda主频道地址 conda config --add channels 清华conda免费频道地址 conda config --set show_channel_urls yes

pip 同理,把全局 index 指向国内镜像:

pip config set global.index-url 国内pip镜像地址

⚠️ 常见坑:换源后如果提示"channel 不存在",多半是源地址拼写或版本问题,用 conda config --remove-key channels 重置回默认源再试。镜像站的具体地址以各站官方说明为准,直接搜"清华 conda 镜像"第一条就是。

3.8 conda 常用命令速查

需求 命令
查看所有环境 conda env list
删除环境 conda env remove -n 环境名
克隆环境 conda create -n 新环境 --clone 旧环境
查看已装包 conda list
升级所有包 conda update --all
搜索包版本 conda search 包名
安装指定版本 conda install 包名=版本号

这几条命令覆盖了日常 90% 的环境管理需求。记不住没关系,用时回来翻这张表。

3.9 团队协作:环境即文档

环境配置应该像代码一样被管理。项目目录里放一份 environment.yml,同事克隆仓库后一个命令就能复现环境;CI 流水线里也用同一份文件构建测试环境。环境是项目的资产而不是个人电脑的私有配置,这个意识从第一天就值得建立。

一节小结

  • 要点一:Anaconda 自带大量科学计算库适合新手,Miniconda 轻量干净适合进阶
  • 要点二:conda 管环境与科学计算核心库,pip 补装其余库,混用要克制
  • 要点三:虚拟环境是独立调料柜,每个项目一个环境,互不污染
  • 要点四:激活环境的标志是终端提示符出现 (ds),忘了激活是"装完不认识"头号原因
  • 要点五conda env export 导出环境,是团队复现与备份的标准做法
  • 要点六:用 numpy 跑通第一段求和代码,作为环境可用的验收标准

下一节我们来看这些代码"在哪里写"——Jupyter 这个交互式工作台,以及整个数据科学开发工具链该怎么选。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U