第二讲:环境搭建——Linux基础操作、Python3环境安装、虚拟环境配置

好,咱们正式开始动手了。这一章,说白了就是“把地基打牢”。

我见过太多学员,代码写得挺溜,结果一部署到服务器上就各种报错。为什么?环境没配好。尤其是咱们做基站远程监控的,服务器常年跑在Linux上,你连基本的文件操作、权限管理都搞不定,后面根本没法玩。

所以这一章,我带你亲手把Linux基础操作过一遍,再把Python3和虚拟环境装好。别嫌啰嗦,这一步省了,后面全是坑。

2.1 Linux基础操作——你至少得会这些

咱们的监控系统最终要部署在服务器上,绝大多数服务器跑的是Linux(CentOS或Ubuntu)。我个人习惯用Ubuntu 20.04 LTS,稳定,社区活跃,遇到问题好搜。

你不需要成为Linux高手,但下面这几个操作,必须刻在脑子里。

2.1.1 文件和目录操作

这是最基础的。你想想看,连文件在哪儿都找不到,还谈什么运维?

命令 作用 我常用的例子
pwd 显示当前路径 刚登录服务器,先敲一下,确认自己在哪
ls -la 列出所有文件(包括隐藏文件) 查看目录下有没有配置文件
cd /home/project 切换目录 进入项目文件夹
mkdir -p a/b/c 递归创建目录 一次建好几层目录,省事
cp -r source dest 复制文件夹 备份整个项目
rm -rf folder 强制删除文件夹 清理废弃的测试目录
⚠️ 警告:rm -rf 一定要看清楚路径再执行。我曾经在客户现场,手一抖把 /etc 目录删了……嗯,那天的晚饭是加班到凌晨三点吃的。

2.1.2 文件编辑与查看

在服务器上,没有图形界面,你得学会用命令行编辑器。我推荐 vim,虽然上手有点陡,但熟练了效率极高。

# 查看文件内容(适合小文件)
cat config.yaml

# 分页查看(适合日志文件)
less system.log

# 用 vim 编辑文件
vim settings.py

vim 的基本操作:按 i 进入编辑模式,改完按 Esc,然后输入 :wq 保存退出。记不住?没事,先记住这三个键:iEsc:wq

2.1.3 权限管理

基站监控系统经常要读写串口设备、日志文件。权限不对,程序就跑不起来。

# 给脚本添加执行权限
chmod +x start_monitor.sh

# 修改文件所有者
chown root:root config.ini

# 查看当前用户
whoami
💡 小技巧:我习惯在项目根目录建一个 deploy 用户,专门跑监控程序。这样即使程序被攻击,也不会影响系统其他服务。

2.2 Python3环境安装

咱们的监控代码用Python3写。为什么不用Python2?因为Python2在2020年就停止维护了。你想想看,一个没人维护的版本,你敢用在生产环境吗?

2.2.1 检查系统是否已安装Python3

python3 --version

如果输出类似 Python 3.8.10,说明已经有了。如果没有,咱们手动装。

2.2.2 在Ubuntu上安装Python3

# 更新包列表
sudo apt update

# 安装Python3和pip
sudo apt install python3 python3-pip -y

# 验证安装
python3 --version
pip3 --version

我在项目中遇到过一个问题:系统自带的Python3版本太旧(比如3.6),有些第三方库不支持。这时候怎么办?

别急,可以用 deadsnakes 源安装最新版:

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11 python3.11-venv python3.11-distutils
🔑 关键点:安装完新版本后,用 python3.11 命令调用,不要覆盖系统默认的 python3,否则可能导致系统工具崩溃。

2.3 虚拟环境配置

这是很多新手容易忽略的一步。你想想看,如果所有项目都共用一套Python包,A项目需要Django 3.2,B项目需要Django 4.0,那不就冲突了吗?

虚拟环境就是给每个项目一个“独立的小房间”,各玩各的,互不干扰。

2.3.1 使用 venv 创建虚拟环境

Python3自带了 venv 模块,不需要额外安装。

# 进入项目目录
cd /home/project/remote_monitor

# 创建虚拟环境(命名为 venv)
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# 看到命令行前面多了 (venv) 就说明激活成功了
(venv) user@server:~/remote_monitor$

2.3.2 安装项目依赖

激活虚拟环境后,用 pip 安装的包只会装在这个环境里。

# 安装 pyserial(串口通信)
pip install pyserial

# 安装 requests(HTTP请求)
pip install requests

# 把当前环境的所有包导出到文件
pip freeze > requirements.txt
💡 我的习惯:每次新建项目,第一步就是创建虚拟环境,然后马上生成 requirements.txt。这样换机器部署时,直接 pip install -r requirements.txt 就搞定了,不会漏包。

2.3.3 退出虚拟环境

deactivate

退出后,命令行前面的 (venv) 就消失了。

2.3.4 避坑指南:虚拟环境放哪?

我曾经犯过一个错:把虚拟环境建在项目代码里,然后一起提交到Git仓库。结果队友拉下来后,因为路径不同,虚拟环境直接废了。

正确的做法是:

  • venv 目录加到 .gitignore
  • 只提交 requirements.txt
  • 每个人在自己机器上重新创建虚拟环境
# .gitignore 文件内容
venv/
__pycache__/
*.pyc
.env

2.4 验证环境是否搭建成功

最后,咱们写个简单的测试脚本,确保一切正常。

# test_env.py
import sys
import serial
import requests

print(f"Python版本: {sys.version}")
print("pyserial 导入成功")
print("requests 导入成功")
print("✅ 环境搭建完成!")

运行:

python3 test_env.py

如果看到绿色对勾,恭喜你,环境搭好了。咱们可以进入下一章了。

📌 本章总结:
  • Linux基础操作:cd、ls、mkdir、chmod 必须熟练
  • Python3安装:推荐用 deadsnakes 源装最新版
  • 虚拟环境:每个项目独立,用 venv 创建,用 requirements.txt 管理依赖

嗯,这一章内容不多,但都是实打实的硬功夫。下一章,咱们开始写真正的监控代码——读取基站设备的串口数据。到时候你就知道,今天配的环境有多重要了。