第1章:环境搭建——工欲善其事,必先利其器
做NLP项目,环境搭建是第一步。很多人觉得这步没啥技术含量,随便装个库就开始写代码。嗯,我以前也这么干过,结果呢?项目做到一半,依赖冲突、版本不兼容,折腾了两天才搞定。从那以后,我养成了一个习惯:每个项目都建独立的虚拟环境。
说白了,环境搭建就像盖房子打地基。地基不稳,后面再漂亮的模型也跑不起来。这一章,我带你把地基夯实。
1.1 Python虚拟环境——为什么必须用?
你想想看,一个项目用pandas 1.0,另一个项目用pandas 2.0。如果全装到系统Python里,迟早会出问题。虚拟环境就是给每个项目一个独立的“小房间”,互不干扰。
我个人习惯用venv,Python 3.3以后自带的,不用额外装。当然,也有人喜欢conda,看个人喜好。
核心原则:每个NLP项目,都建一个独立的虚拟环境。这不是建议,是规矩。
创建虚拟环境
# 在项目根目录下执行
python -m venv news_sentiment_env
这条命令会创建一个叫news_sentiment_env的文件夹,里面就是独立的Python环境。
激活虚拟环境
Windows和Mac/Linux的命令不一样,别搞混了。
| 操作系统 | 激活命令 |
|---|---|
| Windows (CMD) | news_sentiment_env\Scripts\activate |
| Windows (PowerShell) | news_sentiment_env\Scripts\Activate.ps1 |
| Mac / Linux | source news_sentiment_env/bin/activate |
小技巧:激活后,终端前面会出现(news_sentiment_env)字样。看到这个,就说明环境激活成功了。
退出虚拟环境
deactivate
我曾经踩过的坑:有一次我在Windows上建了环境,然后换到Mac上继续开发。结果路径不对,环境用不了。后来我学乖了——把requirements.txt放到Git里,换机器直接pip install -r requirements.txt重建环境,省心多了。
1.2 Jupyter Notebook配置——交互式开发的利器
做数据分析,Jupyter Notebook几乎是标配。你想想看,写一段代码,立刻看到结果,还能加注释、画图表,多方便。
我建议在虚拟环境里单独装Jupyter,别用系统全局的。这样能保证内核和依赖版本一致。
安装Jupyter
# 确保虚拟环境已激活
pip install jupyter
启动Jupyter Notebook
jupyter notebook
执行后,浏览器会自动打开http://localhost:8888,这就是你的工作台了。
注意:如果启动后浏览器没自动打开,手动复制那个带token的URL到浏览器就行。
配置内核
有时候你装了Jupyter,但新建Notebook时找不到你的虚拟环境。这是因为内核没注册。解决办法很简单:
# 在虚拟环境中安装ipykernel
pip install ipykernel
# 注册内核
python -m ipykernel install --user --name=news_sentiment_env --display-name="News Sentiment (Python 3.9)"
这样,新建Notebook时,内核列表里就会出现News Sentiment (Python 3.9)这个选项。
我个人习惯:每个项目都注册一个带项目名的内核。这样打开Jupyter时,一眼就能认出哪个环境对应哪个项目。
1.3 必备库安装——一个都不能少
做新闻情绪分析,核心库就这几类:数据处理、可视化、中文分词、情感分析、预训练模型。我列个清单,你照着装就行。
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理、表格操作 | pip install pandas |
| numpy | 数值计算、数组操作 | pip install numpy |
| matplotlib | 基础绘图 | pip install matplotlib |
| seaborn | 统计图表、美化 | pip install seaborn |
| jieba | 中文分词 | pip install jieba |
| snownlp | 中文情感分析 | pip install snownlp |
| transformers | 预训练模型(BERT等) | pip install transformers |
一键安装所有库
你可以把上面的库名写到一个文件里,然后一键安装。我习惯用requirements.txt:
# requirements.txt
pandas==1.5.3
numpy==1.24.3
matplotlib==3.7.1
seaborn==0.12.2
jieba==0.42.1
snownlp==0.12.3
transformers==4.30.2
然后执行:
pip install -r requirements.txt
注意版本问题:我建议锁定版本号,别用pip install pandas这种不指定版本的写法。为什么?因为几个月后,pandas可能升级到2.0,API变了,你的代码就跑不起来了。锁定版本,保证可复现。
验证安装
装完之后,最好验证一下。打开Jupyter Notebook,新建一个Notebook,然后执行:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import jieba
from snownlp import SnowNLP
from transformers import pipeline
print("所有库导入成功!")
如果没有报错,恭喜你,环境搭建完成。
小提示:第一次导入transformers时,可能会下载一些模型文件。别急,等它下载完就行。以后再用就快了。
1.4 知识体系总览
这一章的内容,说白了就是三件事:建环境、配Notebook、装库。我画了一张图,帮你理清思路。
这张图把本章内容串起来了。你照着这个流程走一遍,环境就搭好了。别嫌麻烦,这一步做好了,后面写代码会顺畅很多。
最后说一句:环境搭建不是一次性工作。每次开始新项目,都重复一遍这个流程。养成习惯,你会感谢自己的。
公众号:蓝海资料掘金营,微信deep3321