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 为例)
步骤其实很简单,但有几个坑我得提前说。
- 去官网下载:https://www.anaconda.com/products/individual
- 选对版本:建议下载 Python 3.9 或 3.10 对应的 Anaconda 版本。别追最新,稳定第一。
- 安装时注意:
⚠️ 重要提醒:安装到「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 读取真实的化成数据文件,咱们开始实战。