news 2026/8/31 6:27:55

conda环境管理实战:从创建环境到Jupyter运行NumPy

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
conda环境管理实战:从创建环境到Jupyter运行NumPy

这可能是很多人在学习数据分析时遇到的第一个“隐形坎”:课程视频里,老师熟练地敲着命令,几秒钟装好了 NumPy,顺手打开了 Jupyter Notebook,然后开始写代码。你跟着做,却发现要么conda半天没反应,要么 Jupyter 打开之后一片空白,要么辛辛苦苦装好了库,第二天打开电脑又一个都找不到了。

我不是第一次看到有人在这里卡住。也不是第一次看到有人为了省事,把几十个库一股脑装进同一个环境里,最后发现 A 项目需要 pandas 1.5,B 项目因为别的原因只能用到 pandas 1.3,两边互相拉扯,整个环境变得像一个堆满旧家具的仓库。

所以这篇文章想花点篇幅,把“环境创建、安装 NumPy、启动 Jupyter、创建项目”这条链路完整走一遍。重点不是让你复制命令,而是讲清楚每一步背后的原因:为什么建议用 conda 而不是直接 pip install 到系统 Python,为什么 Notebook 启动后需要再关联环境,以及“创建项目”到底意味着什么。

1. 为什么说数据分析的第一步不是写代码,而是管理环境

1.1 一个真实到几乎每个人都遇到过的环境事故

先讲一个典型的场景。你电脑上可能已经装过 Python,可能是自己下载安装的,也可能是 Visual Studio 或其他软件顺带装进去的。某天你准备开始学数据分析,项目标题告诉你要安装 numpy、打开 jupyter。你打开命令行,输入:

pip install numpy

结果有几种可能:

  • 报错:pip 不是内部或外部命令
  • 显示已经安装,但用import numpy时提示找不到模块
  • 安装成功了,但重启电脑或换一个终端窗口,又提示 module not found

这其实是同一个根源问题:你在哪个 Python 环境里,你安装的包就进到哪个环境里。如果终端里运行的 Python 和你 Jupyter 用的 Python 不是同一个,那么装一万次也还是“找不到”。

1.2 环境到底是什么:从 Python 解释器到依赖树

这里可以做一个很朴素的类比。把 Python 环境理解成一个房间,解释器是这个房间的“总负责人”,NumPy、pandas 这些库是房间里的工具。你执行pip install numpy,相当于把一个新工具放进了当前房间。

问题是,你电脑上不止一个房间。可能有 Python 自带的房间,有 Anaconda 创建的房间,甚至还有虚拟环境软件创建的多个房间。如果你在 A 房间放了一把扳手,却跑到 B 房间去找工具,结果自然是找不到。

这还不是全部。NumPy 本身还有版本要求,它和其他库之间可能存在复杂的依赖关系。比如某个库依赖 numpy 1.x,另一个库需要 numpy 2.x,如果都放在同一个房间里,后期就可能产生冲突。你装的时候一切正常,跑起来的时候才发现问题。

所以,环境管理的核心不是“装一个软件”,而是做两件事:

  1. 明确当前这个项目的 Python 解释器是哪个。
  2. 让不同项目之间互相隔离,互不污染。

这也是为什么课程标题里先写“环境创建”,再写“安装 numpy”。没有环境意识,后面每一步都可能踩坑。

2. 用 conda 先造一个干净的数据分析工作区

2.1 选择 Anaconda 还是 Miniconda

很多教程会直接说“先安装 Anaconda”。Anaconda 是一个集成发行版,里面预装了 Python、NumPy、pandas、Jupyter 等两百多个常用包。优点是开箱即用,缺点是体积较大,安装过程也占时间。

如果只是想学习 NumPy 和 Jupyter,另一个更克制的方式是安装 Miniconda。Miniconda 只包含 conda 和一个最小化的 Python,后续按需安装自己需要的库。

我的建议是:

  • 如果你希望尽量减少折腾,安装 Anaconda 也可以。安装完之后,很多库已经就位,初学者可以直接开始写代码。
  • 如果你想保留对环境的掌控感,或者电脑空间紧张,建议 Miniconda。它更接近“从零搭建一个干净实验室”的原始路径。

两者在 conda 的基本命令上没有本质区别。下面所有步骤在两种环境下都通用。

2.2 创建环境不是“新建文件夹”那么简单

打开终端或 Anaconda Prompt,先确认 conda 可用:

conda --version

然后创建一个独立环境。环境名可以按照项目来取,比如>conda create -n>conda activate>which python which pip

在 Windows 上,对应命令是:

where python where pip

正常情况下,路径里应该包含>conda env list

这个命令会列出所有环境。当前环境前面会有一个星号标记。

注意:如果conda activate在当前终端不可用,先执行conda init初始化 shell,然后重新打开终端再试。

3. 安装 NumPy:这一步的坑不在安装本身

环境创建好后,安装 NumPy 本身是一个非常简单的事情。但真正的坑通常藏在“为什么装完还是不行”“为什么版本对不上”“为什么提示已经存在却不生效”这些看起来不像是安装问题的问题里。

3.1 先确认 Python 版本,再选安装方式

执行:

python --version

确认当前环境中的 Python 是 3.10 还是 3.11,这会决定 NumPy 安装的版本形态。NumPy 对不同 Python 版本有不同轮子包。

然后执行安装:

conda install numpy -y

如果项目教程或后续课程要求用 pip,也可以:

pip install numpy

这里有一个经验判断:既然环境是用 conda 创建的,那么优先使用conda install安装包含二进制依赖的科学计算库。原因是 conda 不仅管理 Python 包,也管理系统级依赖库,兼容性处理更严格。pip则主要处理 Python 包本身,部分包的底层依赖可能需要自己额外解决。

初期安装 NumPy 用 conda 就够。如果后面遇到 conda 源里找不到的包,再考虑 pip。

3.2 pip 和 conda 到底该用谁

一个容易产生混乱的点是:conda 环境里可以调用 pip,并且 pip 也会把包装进当前 conda 环境。但如果系统还装了别的 Python,命令行里的 pip 可能并不属于当前环境。

建议是统一原则:

  • 创建环境用 conda。
  • 优先用 conda 安装包。
  • 只有 conda 没有的包,才用 pip 安装。
  • pip 安装前,先确认当前环境里的 pip 路径正确。

少混用包管理器,环境会干净很多。

3.3 验证 NumPy 装没装好:比 print(np.version) 更重要的两件事

安装完成后,不要急着写复杂代码。先做两个验证:

第一个验证版本:

python -c "import numpy; print(numpy.__version__)"

如果能正常打印版本,说明 NumPy 已经可以导入。但这还不能证明它一定属于当前环境。

第二个验证路径,这一步很多人忽略:

python -c "import numpy; print(numpy.__file__)"

打印出的路径应该指向当前环境目录。如果路径显示的仍然是一个全局安装包,说明你用的 Python 不是当前环境的 Python。这个时候不是 NumPy 没装好,而是解释器选错了。

import numpy as np # 创建一个简单数组 arr = np.array([1, 2, 3, 4]) # 查看形状和数据类型 print(arr.shape, arr.dtype) # 简单运算 print(arr * 2)

如果这段代码能输出预期结果,说明 NumPy 的基本链路已经通了。

4. Jupyter Notebook 不是编辑器,是实验记录本

4.1 Notebook、JupyterLab 和普通 IDE 的定位差异

很多人第一次接触 Jupyter Notebook 时会问一个问题:它和 PyCharm、VSCode 有什么区别?

它们都能写 Python 代码,但定位很不同。

PyCharm 或 VSCode 更适合构建完整项目。你可以写包、写类、定义函数、调试脚本、运行测试,最终形成一个相对完整的软件工程结构。

Jupyter Notebook 更像一个实验记录本。它允许你把代码、输出结果、Markdown 说明、可视化图表混排在一份文档里。每一段代码都可以单独运行,单独看输出。这种交互方式特别适合探索式数据分析:你不用把整个程序跑完,可以先看看数据长什么样,再决定下一步怎么清洗、怎么建模。

JupyterLab 是 Notebook 的升级版界面。它保留了单元格交互,也顺便提供了文件浏览器、终端、文本编辑器等能力,整体更像一个轻量级工作台。

对数据分析新手来说,一开始使用 Notebook 足够。它降低了探索门槛,让你把注意力放在数据和思路上。

4.2 启动 Notebook 之前必须检查的三件事

很多人装好 Jupyter 后直接运行jupyter notebook,然后发现界面里导入 NumPy 报错,或者右下角显示内核连接失败。这类问题大多来自“环境没对应上”。

启动前建议依次检查三件事:

第一,确认 Jupyter 安装在哪里。

which jupyter

第二,确认当前环境中是否安装了 ipykernel。如果没有,需要安装:

conda install ipykernel -y

第三,为当前环境注册一个 IPython 内核。这一步很关键:

python -m ipykernel install --user --name=data-analysis --display-name "data-analysis"

做完这三步,再启动 Jupyter:

jupyter notebook

如果习惯用 JupyterLab:

jupyter lab

在 Notebook 右上角的 Kernel 菜单里,应该能看到一个名为>data-analysis/ ├── data/ # 原始数据 │ └── raw/ ├── notebooks/ # Jupyter Notebook 文件 ├── scripts/ # 可复用 Python 脚本 ├── outputs/ # 处理结果、图表 ├── requirements.txt # 项目依赖 └── README.md # 项目说明

不需要一上来就弄得很宏大,但建议至少区分:

  • 数据放哪里。
  • 分析文件放哪里。
  • 输出结果放哪里。

这样做的核心价值在于:你不会在三个月后面对一个全部散落在桌面上的混乱目录,不知道哪个文件是当时的最终版本。

在项目目录下打开终端,然后创建环境、安装依赖,再启动 Jupyter。这里的习惯是:先进入项目目录,再启动 Jupyter

cd>pip freeze > requirements.txt

第二种,用 conda 导出环境定义:

conda env export > environment.yml

两者各有侧重。requirements.txt 更通用,其他同事或另一台电脑可以用pip install -r requirements.txt来复现。environment.yml 更完整,包含 conda 的 channel 信息和部分系统级依赖,适合完整重建一个环境。

对刚开始接触数据分析的人来说,这个动作可能显得多余。但它的价值在于:环境也是项目的一部分。你写的代码能不能在别的地方运行,不只看代码本身,还要看依赖是否一致。

5.3 什么时候该重建环境而不是继续打补丁

有的人环境用了很久,里面装了几百个包,有 conda 装的,也有 pip 装的,新旧版本混杂,还有大量不认识的库。

要不要清理?我的建议是分情况。

如果环境里只是加了一些用不到但也不冲突的包,可以暂时不清理,至少还能用。但如果出现以下信号,就值得考虑重建一个环境:

  • 新装一个包后,原来能运行的代码开始报错。
  • conda installpip install反复出现依赖冲突。
  • 运行conda list时看到大量同一个包的不同版本残留。
  • 你根本不记得某个环境是做什么用的。

重建方法也很简单:再创建一个新环境,按需装依赖,再把 notebook 跑一遍测试。不要试图在已经混乱的环境里做“大扫除”,那通常会浪费更多时间。

6. 一套适合新手但不过度工程化的落地方案

6.1 从零开始的完整操作序列

把前面所有步骤整合成一个可直接照做的顺序,大概是这样的:

  1. 安装 Miniconda 或 Anaconda。
  2. 执行conda create -n>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 6:27:50

原生影视APP源码拆解:播放器内核与运营功能全解析

简介:这是一套面向影视类App开发者与个人站长的完整原生Android影视应用源码,基于2022年最新稳定版本构建,专为快速搭建高可用、高流畅度的视频聚合平台而设计。资源共2000个文件,涵盖1286个Java类文件(核心业务逻辑&a…

作者头像 李华
网站建设 2026/8/31 6:26:44

多Agent协作实战:Hermes与DeepSeek Harness从配置到排错

最近后台收到不少读者留言,都在问同一个问题:单个 Agent 玩明白了,但多个 Agent 怎么协作?它们真的能像团队一样分工干活,还是只是把几个 API 调用串在一起充样子?正好这段时间在搭 Agent 开发环境&#xf…

作者头像 李华
网站建设 2026/8/31 6:26:29

TensorFlow vs PyTorch:深度学习框架选型与实战指南

TensorFlow vs PyTorch!两大框架对比,新手该选哪个?如果你是一个刚踏入深度学习大门的新手,大概率会在第一个周末就卡在一个问题上:到底先学 TensorFlow 还是 PyTorch?网上搜一圈,答案五花八门。…

作者头像 李华
网站建设 2026/8/31 6:25:51

绿联DH4300 Plus评测:四盘位8G内存+NFC一碰连接的家庭私有云

这次我们要看的不是某个开源模型,而是一台真正适合家庭用户直接搬回家的私有云设备:绿联私有云 DH4300 Plus 8G 版。这台机器最吸引人的点有三个:四盘位 8TB 容量、8GB 大内存,以及手机上很少见的 NFC 一碰连接。简单说&#xff0…

作者头像 李华
网站建设 2026/8/31 6:23:41

真人跑团综艺制作全流程:从TRPG规则到角色卡与发音统一

最近整理一档真人跑团综艺的制作流程时,最让我头疼的并不是怪物数值怎么填、技能等级怎么算,而是一堆看上去特别琐碎、实际上每期都会翻车的“流程问题”:玩家名字读法不统一、地名一会儿叫“裂隙”一会儿叫“裂谷”、录到一半发现有人没开麦…

作者头像 李华
网站建设 2026/8/31 6:23:19

MATLAB极限学习机ELM多特征分类预测完整实战代码

简介:本资源是面向机器学习初学者与MATLAB实践者的ELM极限学习机多特征分类预测完整实现方案,聚焦于四分类任务场景,适用于模式识别、故障诊断、生物信息等需快速建模的工程应用。压缩包共10个文件(244KB),…

作者头像 李华