第二讲:环境搭建——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 保存退出。记不住?没事,先记住这三个键:i、Esc、: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 管理依赖
嗯,这一章内容不多,但都是实打实的硬功夫。下一章,咱们开始写真正的监控代码——读取基站设备的串口数据。到时候你就知道,今天配的环境有多重要了。