第2章 开发环境搭建:Anaconda安装、虚拟环境配置、必备库安装
2.1 为什么选Anaconda?
做Python数据相关开发,环境配置是头一道坎。我个人习惯用Anaconda,说白了就是图省心——它把Python解释器、常用科学计算库、包管理器conda全都打包在一起,装一个就能干活。你想想看,要是手动装Python再一个个pip install,光是解决版本冲突就能耗掉半天。我在项目中遇到过好几次因为numpy版本不对导致scipy导入报错,那叫一个头疼。
另外,Anaconda还内置了Jupyter Notebook、Spyder这些IDE,对教学和快速验证非常友好。嗯,这里要注意:Anaconda和Miniconda的区别。Miniconda只带conda和Python,体积小,但装其他库要手动搞。我建议初学者直接上Anaconda,省事。
2.2 Anaconda下载与安装
下载地址就不贴链接了,你搜索“Anaconda下载”进官网即可。选对应操作系统的安装包(Windows/macOS/Linux)。我主要说几个避坑点。
- 安装时勾选“Add Anaconda to my PATH environment variable”——虽然安装程序会警告不建议,但你不勾选后面用conda命令会报“不是内部或外部命令”。我后来觉得,勾上没毛病,别听警告。
- 安装路径不要有中文,不要有空格。比如
C:\ProgramData\Anaconda3就挺好,别放桌面。 - 安装完后打开命令行(cmd或PowerShell),输入
conda --version,看到版本号就说明成了。
验证安装:
conda --version
conda 24.1.2
看到上面类似输出,ok。如果报错,检查PATH或者重新安装,记得勾选ADD TO PATH。
2.3 虚拟环境配置
做项目最怕的是“A项目要Python 3.8 + pandas 1.0,B项目要Python 3.10 + pandas 2.0”。两个库不能同时装,咋办?用虚拟环境隔离。conda的虚拟环境管理是我最喜欢的部分。
我建议每个项目单独建一个虚拟环境,这样依赖互不干扰。我们来建一个专门给《Python质控工具开发实战》用的环境。
2.3.1 创建虚拟环境
conda create -n qc_tools python=3.9
-n 后面是环境名字,我习惯用项目名缩写 qc_tools。python版本选3.9,因为主流库对3.9兼容性最好。按回车后,会列出要安装的包,输入y确认。
2.3.2 激活环境
Windows:
conda activate qc_tools
macOS/Linux:
source activate qc_tools
激活后命令行前面会出现 (qc_tools) 提示,说明你已经在虚拟环境里了。
2.3.3 小技巧:列出所有环境
conda env list
这个命令会显示你电脑上所有的conda环境,当前激活的环境前面有个星号。我曾经忘了自己建过什么环境,靠这个命令一看就清楚了。
2.3.4 退出环境
conda deactivate
回到base环境。平时记得退出,否则容易把包装错地方。
2.4 必备库安装
我们这门课要用到五个库:pandas, numpy, matplotlib, scipy, plotly。下面挨个说。
2.4.1 用conda安装(推荐)
conda会自动解决依赖冲突,比pip稳。尤其是numpy和scipy,通过pip装有时会碰到编译问题。我建议能conda就别pip。
conda install pandas numpy matplotlib scipy plotly
上面这条命令一次装五个库。conda会分析依赖树,可能需要几十秒。看到Proceed ([y]/n)? 输入y。完成后验证:
python -c "import pandas; import numpy; import matplotlib; import scipy; import plotly; print('All libs imported successfully')"
不报错就对了。
2.4.2 如果用pip(备选)
有时候网不好或者conda源慢,可以用pip。但注意要在conda环境里用pip,别混着装。
pip install pandas numpy matplotlib scipy plotly
记得先 conda activate qc_tools,再pip。
2.4.3 版本说明
下面的版本是我在写本书时的最新稳定版,你装出来的可能略新,不影响使用。
| 库名 | 当前推荐版本(参考) | 主要用途 |
|---|---|---|
| pandas | 2.2.0 | 数据处理、DataFrame操作 |
| numpy | 1.26.4 | 数值计算、数组操作 |
| matplotlib | 3.8.4 | 静态图表绘制 |
| scipy | 1.12.0 | 科学计算、统计、信号处理 |
| plotly | 5.20.0 | 交互式图表、仪表盘 |
2.5 环境导出与迁移
开发环境搭好后,最好把依赖导出,方便别人复现或者换电脑。
conda env export > environment.yml
生成的 environment.yml 文件包含了当前环境所有包的版本。别人拿到后可以用:
conda env create -f environment.yml
一键重建一模一样的虚拟环境。这在我们做质控工具交付时特别有用——我不想让用户因为缺某个库而跑不起来。
2.6 本章知识结构
下面这张图把搭建流程串了起来,你看着过一遍,心里有个谱。
2.7 你可能遇到的坑
- conda命令找不到: 检查PATH;Windows用户可重新运行Anaconda安装程序选“Repair”。
- conda create很慢: 国内用户建议换清华源或阿里源。临时用
conda create -n test python=3.9 -c https://mirrors.aliyun.com/anaconda/pkgs/main - pip装plotly后Jupyter里不显示图表: 需要装
pip install "plotly[widgets]"或者重启Jupyter内核。 - 虚拟环境删除:
conda remove -n qc_tools --all彻底删除。
好了,到这你的开发环境就齐活了。后面我们所有的代码都基于这个环境跑,省去反复写import折腾版本的烦恼。