3、Python环境搭建与虚拟环境:Anaconda安装、创建虚拟环境、管理依赖包(requirements.txt)

好,咱们正式开始动手了。

做电池化成数据采集与分析,Python 是绕不开的工具。但说实话,我见过太多新手一上来就把 Python 装得乱七八糟,最后项目还没跑起来,环境先崩了。嗯,这节咱们就把环境搭稳,后面才能安心写代码。

3.1 为什么非要用 Anaconda?

你可能会问:「我直接装个 Python 不行吗?」

行,但你会后悔的。

做电池数据分析,我们经常要同时处理多个项目。比如一个项目用 Python 3.8 + pandas 1.2,另一个项目用 Python 3.10 + pandas 2.0。如果全装在一个环境里,依赖冲突会让你崩溃。我在项目中就遇到过,一个库升级后,另一个库直接罢工,排查了整整一下午。

Anaconda 的核心价值在于:环境隔离。每个项目有自己的小天地,互不干扰。

一句话总结:Anaconda = Python + 常用科学计算库 + 虚拟环境管理工具。

3.2 安装 Anaconda(Windows 为例)

步骤其实很简单,但有几个坑我得提前说。

  1. 去官网下载:https://www.anaconda.com/products/individual
  2. 选对版本:建议下载 Python 3.9 或 3.10 对应的 Anaconda 版本。别追最新,稳定第一。
  3. 安装时注意

⚠️ 重要提醒:安装到「Advanced Options」这一步时,不要勾选「Add Anaconda to my PATH environment variable」。这个选项容易和系统已有的 Python 冲突。我们后面用 Anaconda Prompt 来操作。

安装完成后,在开始菜单找到「Anaconda Prompt」,打开它。你会看到一个命令行窗口,这就是我们的大本营。

3.3 创建虚拟环境

我个人习惯,每个项目都建一个独立环境。名字起得有意义一点,别用「test」「test1」这种,过两周你自己都忘了是干嘛的。

# 创建一个名为 battery_env 的环境,指定 Python 版本为 3.9
conda create -n battery_env python=3.9

# 创建过程中会提示是否安装依赖包,输入 y 确认

创建成功后,激活这个环境:

# Windows
conda activate battery_env

# macOS / Linux
source activate battery_env

激活后,命令行前面会出现 (battery_env) 字样,说明你现在就在这个虚拟环境里了。嗯,这时候你安装的所有包,都只在这个环境里生效。

💡 小技巧:查看当前有哪些环境,用 conda env list。带 * 号的就是当前激活的环境。

3.4 安装依赖包

电池化成数据分析,常用的库就那么几个。我列个清单,你照着装就行。

包名 用途 安装命令
pandas 数据处理,读取 CSV/Excel conda install pandas
numpy 数值计算 conda install numpy
matplotlib 数据可视化,画充放电曲线 conda install matplotlib
scipy 科学计算,拟合曲线 conda install scipy
jupyter 交互式编程环境 conda install jupyter
openpyxl 读写 Excel 文件 conda install openpyxl

你可以一次性安装:

conda install pandas numpy matplotlib scipy jupyter openpyxl

等进度条跑完,环境就准备好了。我曾经有一次装到一半网络断了,结果环境半残不残。所以建议你网络稳定的时候操作,或者用国内镜像源加速。

3.5 管理依赖包:requirements.txt

这是团队协作的必备技能。你想想看,你把代码发给同事,他总不能一个一个包去装吧?

requirements.txt 一键搞定。

3.5.1 导出当前环境的依赖

# 在激活的虚拟环境中执行
pip freeze > requirements.txt

打开生成的 requirements.txt,你会看到类似这样的内容:

numpy==1.24.3
pandas==2.0.3
matplotlib==3.7.1
scipy==1.10.1
jupyter==1.0.0
openpyxl==3.1.2

每个包名后面跟着版本号,这样就能保证别人安装的版本和你完全一致。

注意:我建议用 pip freeze 而不是 conda list --export。因为 pip freeze 生成的格式更通用,团队里不管用 conda 还是 pip 都能用。

3.5.2 从 requirements.txt 安装依赖

别人拿到你的代码后,只需要:

# 先创建并激活虚拟环境
conda create -n battery_env python=3.9
conda activate battery_env

# 一键安装所有依赖
pip install -r requirements.txt

搞定。所有包自动装好,版本也锁死。我曾经因为版本不一致,在同事电脑上跑出来的数据曲线跟我这边完全不一样,排查了半天才发现是 pandas 版本差异导致的。从那以后,我每个项目必带 requirements.txt

3.6 避坑指南

⚠️ 我曾经踩过的坑:

  • 不要在 base 环境里装太多包:base 环境是 Anaconda 自带的,尽量保持干净。每个项目用独立环境。
  • 安装包时注意网络:如果下载慢,可以配置国内镜像源(清华、中科大)。配置方法很简单,网上搜一下就有。
  • 删除环境要小心conda remove -n battery_env --all 会彻底删除环境,不可恢复。确认无误再操作。

3.7 验证环境是否正常

装完之后,咱们跑个小脚本验证一下。在命令行输入 python 进入交互模式,然后:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 生成一组模拟的电池电压数据
time = np.arange(0, 10, 0.1)
voltage = 3.7 + 0.1 * np.sin(time)

plt.plot(time, voltage)
plt.xlabel('时间 (h)')
plt.ylabel('电压 (V)')
plt.title('电池电压模拟曲线')
plt.show()

如果弹出一个窗口,画出了一条正弦波,恭喜你,环境搭建成功!

💡 我的习惯:每次新建环境后,我都会跑一遍这个脚本。不是为了看曲线,而是确认所有核心库都能正常导入。省得写到一半才发现某个包没装上。

好了,环境搭好了,后面咱们就可以安心处理电池化成数据了。下一节,我会带你用 Python 读取真实的化成数据文件,咱们开始实战。