第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、装库。我画了一张图,帮你理清思路。

新闻情绪分析——环境搭建知识体系 Python虚拟环境 Jupyter Notebook 必备库安装 创建 → 激活 → 退出 requirements.txt 管理 安装 → 启动 → 配置内核 交互式开发与调试 数据处理:pandas, numpy 可视化:matplotlib, seaborn NLP:jieba, snownlp, transformers 环境搭建完成 → 可以开始新闻情绪分析

这张图把本章内容串起来了。你照着这个流程走一遍,环境就搭好了。别嫌麻烦,这一步做好了,后面写代码会顺畅很多。

最后说一句:环境搭建不是一次性工作。每次开始新项目,都重复一遍这个流程。养成习惯,你会感谢自己的。


公众号:蓝海资料掘金营,微信deep3321