2、Python环境与工具链:Anaconda、Jupyter Notebook、VS Code 的另类配置与插件

说实话,很多人在Python环境搭建这一步就栽了跟头。我见过太多同事,装了一堆包,最后环境乱成一锅粥,连自己都分不清哪个项目用了哪个版本。今天我就聊聊,怎么把这几个工具玩出花来。

2.1 Anaconda:不只是包管理器

很多人觉得Anaconda就是个装Python的,其实不然。它真正的威力在于环境隔离。我习惯给每个项目单独建一个环境,这样哪怕某个项目把依赖搞崩了,也不影响其他项目。

核心思路:用 conda 创建独立环境,而不是一股脑装到 base 里。

举个例子,你同时做两个项目:一个用 TensorFlow 1.x,一个用 PyTorch 2.x。如果装在同一个环境里,迟早会出问题。我的做法是:

# 创建环境
conda create -n tf_project python=3.8
conda activate tf_project
pip install tensorflow==1.15

# 另一个项目
conda create -n torch_project python=3.10
conda activate torch_project
pip install torch torchvision

嗯,这里要注意:千万别用 pip 往 base 环境里装东西。我曾经手贱,把 base 环境搞坏了,结果重装了三次 Anaconda,那叫一个酸爽。

2.2 Jupyter Notebook:数据可视化的利器

Jupyter Notebook 做数据探索和可视化,简直是绝配。但默认配置太简陋了,我推荐几个必装的插件:

插件名 作用 安装方式
jupyter_contrib_nbextensions 代码折叠、目录生成、变量查看 pip install jupyter_contrib_nbextensions
jupyter-resource-usage 显示 CPU、内存占用 pip install jupyter-resource-usage
ipywidgets 交互式控件(滑块、按钮) pip install ipywidgets

我个人最常用的是 ipywidgets。做数据可视化时,加个滑块调参数,比改代码再运行快多了。比如这样:

import ipywidgets as widgets
from IPython.display import display
import matplotlib.pyplot as plt
import numpy as np

# 创建一个滑块
slider = widgets.FloatSlider(value=1.0, min=0.1, max=5.0, step=0.1, description='频率:')

def plot_sine(freq):
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(freq * x)
    plt.plot(x, y)
    plt.show()

# 绑定事件
widgets.interact(plot_sine, freq=slider)

你想想看,以前调参数要改代码、重新运行,现在拖个滑块就搞定了。效率提升不是一星半点。

小技巧:在 Jupyter 里用 %matplotlib inline 可以让图表直接显示在单元格下方。但如果你想要交互式图表,试试 %matplotlib notebook,可以缩放、平移。

2.3 VS Code:从编辑器到 IDE 的蜕变

VS Code 默认就是个文本编辑器,但配上插件,它就是最强 Python IDE。我推荐几个「另类」配置:

  • Python 插件:必装,提供代码补全、调试、测试
  • Jupyter 插件:直接在 VS Code 里运行 .ipynb 文件,不用开浏览器
  • GitLens:看代码是谁写的、什么时候改的,团队协作必备
  • Rainbow CSV:用不同颜色区分 CSV 列,数据清洗时特别好用

我重点说说 Jupyter 插件。很多人不知道,VS Code 里可以直接打开 .ipynb 文件,而且支持代码补全、变量查看。比浏览器里的 Jupyter 好用多了。

# 在 VS Code 里新建一个 .ipynb 文件
# 然后直接写代码,按 Shift+Enter 运行
import pandas as pd
import numpy as np

# 生成测试数据
df = pd.DataFrame({
    'A': np.random.randn(100),
    'B': np.random.randn(100) * 2 + 1
})
df.head()

为什么会这样?因为 VS Code 的 Jupyter 插件底层调用了 Jupyter 内核,但界面更现代、功能更丰富。说白了,就是给 Jupyter 换了个皮肤,但内核还是那个内核。

避坑指南:我曾经在 VS Code 里直接运行 Jupyter 文件,结果发现变量查看器不显示。后来发现是 Python 环境没选对。记得在 VS Code 左下角选择正确的 conda 环境,不然会调用默认的 Python 解释器。

2.4 知识体系总览

下面这张图,是我自己总结的 Python 数据可视化工具链。你看一眼,就知道每个工具该用在哪个环节:

Python 数据可视化工具链 环境层:Anaconda conda 环境隔离 | 包管理 | 依赖解决 编辑层:VS Code + Jupyter Notebook 代码编辑 | 交互式探索 | 插件扩展 可视化层:Matplotlib + Plotly + Seaborn 静态图表 | 交互式图表 | 统计图表 输出层:HTML 报告 | PDF | 交互式仪表盘

说白了,这套工具链就是:Anaconda 管环境,VS Code 写代码,Jupyter 做探索,最后输出报告。每一步都有对应的工具,各司其职。

2.5 我的个人配置清单

最后,分享一份我用了两年的配置清单。你照着配,基本不会踩坑:

  1. 安装 Anaconda:选 Python 3.9 版本,别追新
  2. 创建环境:每个项目一个 conda 环境,命名规则:项目名_py版本
  3. 安装 VS Code:必装 Python、Jupyter、GitLens 三个插件
  4. 配置 Jupyter:装 nbextensions 和 ipywidgets,开启代码折叠
  5. 测试环境:跑一个简单的 matplotlib 图表,确保所有组件正常

最后提醒一句:别在 base 环境里装任何东西。每次开新项目,先 conda create,再 conda activate。养成这个习惯,你的 Python 生涯会少很多烦恼。


专注资料整理