环境准备与第一个自动化脚本
第 1 章:环境准备与第一个自动化脚本
> 本章关键词:Anaconda、环境管理、第三方库、VS Code、Jupyter Notebook、批量重命名、调试
你有没有过这样的经历:周一早上刚坐到工位,老板突然发来一封邮件,附件里堆着上百个文件,让你在半小时内全部按统一格式重命名——加日期、加序号、加项目代号。鼠标点到手抽筋,改到第50个文件时突然发现第23个漏掉了,又得从头来一遍。这一刻,你是不是特别希望有个"魔法"能帮你完成这些机械重复的工作?
好消息是,Python就是那个魔法。更准确地说,Python+几个合适的工具,就是你从"苦力模式"切换到"效率模式"的钥匙。但在此之前,你需要先把装备(开发环境)准备好。这就像木工师傅干活之前得先把锯子磨好、把钉子摆齐——工具顺手了,做起活来才能得心应手。
本章将手把手带你完成三件事:第一,选对Python发行版并装好它;第二,装上办公自动化必备的"武器库";第三,写出你的第一个自动化脚本——批量重命名文件。完成这些之后,你就能真切感受到"让电脑替自己干活"的快乐,而这个快乐将贯穿整本书。
---
1.1 为什么选择Anaconda:Python发行版的艺术
1.1.1 直接装Python不行吗?
在正式安装之前,我们先来回答一个常见疑问:既然要学Python,直接从官网下载Python安装不就好了?为什么非要推荐Anaconda?
让我们先理解一个概念:Python发行版(Distribution)。Python官方只提供最核心的Python解释器,但实际工作中你还需要包管理器、常用库、科学计算工具等。不同的发行版把这些"配套设施"打包好了,相当于给你一个"精装房"还是"毛坯房"的区别。
直接装Python官方版本,就像是买了毛坯房——你需要自己装修、自己买家具、自己配置水电。而Anaconda则像是精装修的房子,拎包入住。
表1-1:两种安装方式的对比
| 对比维度 | 官方Python | Anaconda | |---------|-----------|---------| | 安装包大小 | 约25MB | 约800MB(完整版) | | 包管理工具 | pip | conda + pip | | 预装库 | 无 | 200+常用库 | | 环境隔离 | 需借助venv/virtualenv | 原生支持 | | 依赖冲突处理 | 较弱 | 较强(conda生态) | | 适合人群 | 高级用户、服务器部署 | 数据科学、办公自动化 |
对于办公自动化这个场景,Anaconda的优势体现在三个方面:
第一,一键安装所有需要的库。 后面你会看到,办公自动化需要安装openpyxl、python-docx、python-pptx等库。用官方pip安装时,可能遇到版本冲突、缺少编译工具等问题。Anaconda的conda会帮你自动解决大部分依赖问题。
第二,环境隔离功能让你"多线程"工作。 假设你同时在处理两个项目,一个需要pandas 1.3版本,另一个需要pandas 2.0版本(因为新版本有某些特性)。官方Python只能用pip强制升级或降级,而Anaconda可以创建两个独立环境,每个环境用各自的pandas版本,互不干扰。
第三,自带Jupyter Notebook,这个工具在数据分析和脚本调试时极其好用。 你可以写一段代码,运行看结果,改一改,再运行——非常适合边想边做。
1.1.2 下载并安装Anaconda
好的,现在我们来实际安装。操作步骤如下:
第一步:访问下载页面
打开浏览器,访问 Anaconda 官方网站:https://www.anaconda.com/download
> ⚠️ 避坑提示:一定要从官网下载,不要从第三方网站下载安装包。曾经有不法分子在第三方网站上植入恶意代码,导致用户电脑被植入挖矿木马。认准网址,有个小技巧——网址中包含`anaconda.com`才是正品。
第二步:选择版本
页面会自动检测你的操作系统(Windows、macOS还是Linux),你只需要选择对应的安装包。Python版本建议选择Python 3.9或3.10的版本——这两个版本生态成熟,兼容性最好。除非你有特殊理由(比如某个库只支持特定版本),否则不要选择3.7以下的旧版本或3.12+的最新版本。
第三步:运行安装程序
下载完成后,双击安装包开始安装。建议使用默认安装路径(Windows用户通常是`C:\Users\你的用户名\anaconda3`),不要装在C盘根目录或者带中文的路径下——后续可能会遇到奇怪的路径识别问题。
安装过程中,有一个关键选项需要注意:
```text ☑ Add Anaconda to PATH environment variable(添加到系统PATH) ```
建议取消这个勾选。为什么?因为Anaconda有自己独立的命令行工具,使用"Anaconda Prompt"(Windows)或"Terminal"(macOS)来操作conda命令更稳定。如果添加到系统PATH,可能会和系统自带的Python产生冲突。当然,如果你的电脑只需要用Anaconda这一套Python环境,那勾选也无妨。
第四步:验证安装成功
安装完成后,按以下步骤验证:
1. Windows用户:点击开始菜单,搜索"Anaconda Prompt",打开它 2. macOS/Linux用户:打开"Terminal"应用
在打开的命令行窗口中输入:
```bash conda --version ```
如果看到类似`conda 23.3.1`这样的版本号输出,恭喜你,Anaconda安装成功!
再输入一行验证Python:
```bash python --version ```
应该显示`Python 3.10.x`或`Python 3.9.x`这样的版本号。
> 💡 小技巧:macOS和Linux用户可能会遇到输入`python`命令时调用的是系统自带Python而不是Anaconda的情况。这时可以试试`conda activate`命令激活Anaconda环境,或者使用`which python`命令查看当前`python`命令指向哪个程序。
---
1.2 第一次亲密接触:conda环境管理
1.2.1 什么是conda环境?为什么需要它?
安装完Anaconda后,你会在"Anaconda Prompt"里看到`(base)`这个标记。这是什么意思?
conda环境可以理解为一个独立的"工作间"。每个环境里有自己的Python解释器、自己的一堆库。你可以创建多个工作间,分别用于不同的项目。
为什么需要这个功能?让我们用一个真实场景来说明:
你正在用Python做一个Excel报表自动化项目,用的是openpyxl 3.0.9版本,一切正常。三个月后,你接手另一个PPT生成项目,需要用python-pptx库,但这个库要求openpyxl版本必须是3.1.0以上(因为新版本修复了一个兼容性问题)。你用pip升级了openpyxl——然后,糟糕!你发现之前那个Excel项目报错了,因为openpyxl 3.1.0改变了某些API。
这就是依赖冲突。有了conda环境,你可以这样操作:
- 环境A:openpyxl 3.0.9 + 你的Excel项目
- 环境B:openpyxl 3.1.0 + python-pptx + 你的PPT项目
两个环境完全隔离,各玩各的,井水不犯河水。
1.2.2 常用conda命令一览
虽然conda有图形界面(Anaconda Navigator),但命令行更加高效精准。以下是你需要掌握的核心命令:
查看当前环境:
```bash conda info --envs ```
输出中带星号(*)的就是当前激活的环境。
创建新环境:
```bash conda create --name automation python=3.10 ```
这行命令创建了一个叫"automation"的新环境,指定Python版本为3.10。执行后会提示你确认,输入`y`回车即可。
激活环境:
```bash conda activate automation ```
激活后,命令提示符前会变成`(automation)`。
退出当前环境:
```bash conda deactivate ```
查看环境中已安装的包:
```bash conda list ```
删除环境(如果不需要了):
```bash conda env remove --name automation ```
> 💡 最佳实践建议:为本书的学习创建一个专门的环境,名字可以叫`pyoffice`(Python Office的缩写)。后续所有安装的库都装在这个环境里,学习完本书后如果想从头开始,直接删除这个环境即可,不会影响你系统里其他项目的Python环境。 > > ```bash > conda create --name pyoffice python=3.10 > conda activate pyoffice > ```
1.2.3 pip与conda:两套包管理器的协作
Anaconda环境下,你会同时用到pip和conda两套包管理器。这里有一个简单的使用原则:
- **conda能解决的,优先用conda**:比如安装numpy、pandas这些有编译依赖的科学计算库
- **conda仓库没有的,用pip**:比如python-docx、python-pptx这些纯Python库,用pip安装更方便
为什么不能全部用pip?因为有些库(特别是涉及C/C++扩展的)用conda安装可以自动处理编译问题,而pip有时会报错要求你安装Visual Studio Build Tools(Windows)或Xcode Command Line Tools(macOS)。
为什么不能全部用conda?因为conda仓库的包更新有时比PyPI(pip的仓库)慢,少数冷门包只在PyPI上有。
一个典型的安装流程:
```bash
先用conda安装科学计算相关的库
conda install numpy pandas
再用pip安装办公自动化相关的库
pip install openpyxl python-docx python-pptx ```
---
1.3 武装到牙齿:安装办公自动化必备库
1.3.1 办公自动化的"武器库"概览
在开始安装之前,我们先来认识一下这些即将入驻你电脑的"库"(Library)。你可以把库理解为别人写好的工具箱——里面有各种现成的零件(函数),你可以拿过来直接用,不用自己从零开始造轮子。
表1-2:办公自动化必备库一览
| 库名 | 用途 | 适用场景 | |-----|------|---------| | openpyxl | Excel读写 | 批量处理表格、数据汇总 | | python-docx | Word读写 | 自动生成报告、批量替换文字 | | python-pptx | PowerPoint读写 | 自动生成演示文稿 | | pandas | 数据分析 | 数据清洗、统计分析 | | pyautogui | 键鼠模拟 | 自动化点击、输入 | | pywin32 | Windows操作 | 文件操作、系统控制 | | shutil | 文件操作 | 批量移动、复制文件 | | pathlib | 路径处理 | 跨平台路径操作 |
1.3.2 安装步骤详解
现在我们把这些库安装到刚才创建的环境里。
第一步:确保环境已激活
```bash conda activate pyoffice ```
确认命令提示符前显示`(pyoffice)`。
第二步:安装pandas(它会自动带上numpy)
```bash conda install pandas ```
第三步:安装openpyxl
```bash pip install openpyxl ```
第四步:安装python-docx
```bash pip install python-docx ```
第五步:安装python-pptx
```bash pip install python-pptx ```
第六步:安装pyautogui(用于键鼠自动化)
```bash pip install pyautogui ```
> ⚠️ 重要提示:pyautogui在macOS上使用前需要额外授权。在macOS的"系统偏好设置 → 安全性与隐私 → 隐私"中,找到"辅助功能",把终端应用添加进去。否则程序运行时会报错。
第七步:验证安装结果
安装完成后,输入以下命令查看已安装的包:
```bash pip list ```
你应该能看到类似这样的输出:
``` openpyxl 3.1.2 pandas 2.0.3 python-docx 0.8.11 python-pptx 0.6.23 pyautogui 0.9.54 ```
1.3.3 遇到安装报错怎么办?
安装过程中可能会遇到各种报错,这里列出几个常见情况及解决方案:
情况一:网络连接超时
如果pip install时提示网络错误,可能是因为你在中国大陆,访问PyPI服务器比较慢。解决方案是使用国内镜像源:
```bash pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple ```
国内常用的镜像源还有:
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:https://mirrors.aliyun.com/pypi/simple
- 腾讯云:https://mirrors.cloud.tencent.com/pypi/simple
情况二:提示"permission denied"
在Windows上如果遇到权限错误,不要用管理员权限运行命令提示符,而是修改pip的安装目标:
```bash pip install openpyxl --user ```
情况三:版本冲突警告
如果看到类似`WARNING: You are using pip version xxx; however version xxx is available`这样的提示,通常可以忽略,不影响正常使用。如果确实需要升级pip,使用:
```bash python -m pip install --upgrade pip ```
---
1.4 编辑器选择:VS Code与Jupyter Notebook的协同作战
1.4.1 为什么需要代码编辑器?
你可能会问:Python不是可以在命令行里直接写代码运行吗?为什么要用编辑器?
这个问题问得好。假设你要写一个复杂的脚本,需要300行代码。如果在命令行里一行一行敲,出错了你得从头检查每一行对不对,改动也很麻烦。更重要的是,你没法保存代码——关掉命令行,代码就消失了,下次还得重写。
代码编辑器(IDE)就像是一个功能强大的写字板:语法高亮让代码更易读,自动补全减少打字错误,错误提示帮你快速定位问题,一键运行让你看到结果。可以说,编辑器选对了,编程效率能提升一倍。
1.4.2 VS Code:全能型选手
VS Code(Visual Studio Code)是由微软开发的免费代码编辑器,是目前最流行的编程工具之一。它的优点包括:
- 轻量级,启动快,占用资源少
- 支持几乎所有编程语言
- 插件丰富,可以无限扩展功能
- 界面美观,可自定义主题
- 跨平台(Windows、macOS、Linux都能用)
安装VS Code:
1. 访问 https://code.visualstudio.com/Download 2. 下载对应操作系统的安装包 3. 运行安装程序,建议使用默认设置
安装Python插件:
打开VS Code后,按`Ctrl+Shift+X`(Windows/Linux)或`Cmd+Shift+X`(macOS)打开扩展面板,在搜索框中输入"Python",找到微软官方发布的"Python"插件并安装。这个插件会提供语法高亮、代码补全、调试功能等。
配置Python解释器:
安装完Python插件后,按`Ctrl+Shift+P`(Windows/Linux)或`Cmd+Shift+P`(macOS)打开命令面板,输入"Python: Select Interpreter",选择我们之前创建的`pyoffice`环境对应的Python解释器。
1.4.3 Jupyter Notebook:数据分析神器
Jupyter Notebook是一个基于浏览器的交互式编程环境,特别适合做数据分析、机器学习和探索性编程。它的特点是"所见即所得"——你可以在代码块之间插入文字说明、图片、公式,代码运行结果直接显示在下方,非常适合边想边写、边写边调试。
Anaconda已经自带了Jupyter Notebook,无需额外安装。
启动Jupyter Notebook:
1. 在命令行中激活`pyoffice`环境 2. 输入`jupyter notebook`回车 3. 浏览器会自动打开一个页面,显示当前目录的文件列表
Jupyter Notebook的基本操作:
- **新建notebook**:点击右上角的"New"按钮,选择"Python 3"
- **编写代码**:在代码单元格里输入代码,按`Shift+Enter`运行
- **添加单元格**:工具栏上有"+"按钮,可以添加新的代码或Markdown单元格
- **保存**:按`Ctrl+S`(Windows/Linux)或`Cmd+S`(macOS)
1.4.4 两种工具的使用场景
VS Code和Jupyter Notebook各有优势,一个实用的策略是用VS Code写正式脚本,用Jupyter Notebook做探索和调试。
```mermaid graph TD A[任务开始] --> B{任务类型?}