第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)。我主要说几个避坑点。

安装避坑指南(Windows用户必看)
  1. 安装时勾选“Add Anaconda to my PATH environment variable”——虽然安装程序会警告不建议,但你不勾选后面用conda命令会报“不是内部或外部命令”。我后来觉得,勾上没毛病,别听警告。
  2. 安装路径不要有中文,不要有空格。比如 C:\ProgramData\Anaconda3 就挺好,别放桌面。
  3. 安装完后打开命令行(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 交互式图表、仪表盘
一点经验: 如果你用pip安装matplotlib遇到“Visual C++ Redistributable”报错,去微软官网装VC++运行库就行。Windows环境下我踩过这个坑,装完就正常了。

2.5 环境导出与迁移

开发环境搭好后,最好把依赖导出,方便别人复现或者换电脑。

conda env export > environment.yml

生成的 environment.yml 文件包含了当前环境所有包的版本。别人拿到后可以用:

conda env create -f environment.yml

一键重建一模一样的虚拟环境。这在我们做质控工具交付时特别有用——我不想让用户因为缺某个库而跑不起来。

2.6 本章知识结构

下面这张图把搭建流程串了起来,你看着过一遍,心里有个谱。

开发环境搭建流程 下载并安装Anaconda 验证 conda --version 创建虚拟环境 qc_tools 安装 pandas numpy matplotlib scipy plotly 验证导入 & 导出环境

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折腾版本的烦恼。