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 数据可视化工具链。你看一眼,就知道每个工具该用在哪个环节:
说白了,这套工具链就是:Anaconda 管环境,VS Code 写代码,Jupyter 做探索,最后输出报告。每一步都有对应的工具,各司其职。
2.5 我的个人配置清单
最后,分享一份我用了两年的配置清单。你照着配,基本不会踩坑:
- 安装 Anaconda:选 Python 3.9 版本,别追新
- 创建环境:每个项目一个 conda 环境,命名规则:项目名_py版本
- 安装 VS Code:必装 Python、Jupyter、GitLens 三个插件
- 配置 Jupyter:装 nbextensions 和 ipywidgets,开启代码折叠
- 测试环境:跑一个简单的 matplotlib 图表,确保所有组件正常
最后提醒一句:别在 base 环境里装任何东西。每次开新项目,先 conda create,再 conda activate。养成这个习惯,你的 Python 生涯会少很多烦恼。