在Ubuntu系统上搭建一个干净高效的Python测试环境,其实比想象中更加简单。下面将完整拆解整个流程,每一步都经过实践验证,并提供最省心的解决方案。
Ubuntu系统Python测试环境搭建完整步骤
1. 准备基础环境
首先,更新系统软件包索引至最新状态,确保后续安装的软件包均为最新版本:

sudo apt update && sudo apt upgrade -y
接着安装Python 3及其包管理工具pip。Ubuntu 20.04及以上版本通常已预装Python 3,可使用python3 --version验证:
sudo apt install python3 python3-pip -y
确认版本信息:
python3 --version# 确认Python 3安装pip3 --version # 确认pip安装
2. 配置虚拟环境(隔离项目依赖)
虚拟环境用于隔离不同项目的依赖包,避免相互干扰。Python 3内置的venv模块即可实现此目的:
# 如果还没装venv模块,先装上sudo apt install python3-venv -y# 创建项目目录并进去mkdir my_python_test && cd my_python_test# 创建虚拟环境(venv是环境名,可以改成你喜欢的)python3 -m venv venv# 激活环境(激活后终端提示符会显示环境名)source venv/bin/activate
激活之后,所有通过pip安装的包都会局限在该虚拟环境内,不会影响系统全局Python,这一点值得留意。
3. 安装测试框架
测试框架方面,pytest是目前最流行且易上手的选择,功能强大且入门快速:
pip install pytest
验证安装是否成功:
pytest --version# 看看pytest版本
如果你习惯使用unittest(Python内置框架),也可以直接import unittest使用,无需额外安装。
4. 编写测试用例
在项目目录中新建tests子目录(非必需,但符合项目惯例),然后新建一个测试文件,例如test_example.py。注意,文件名必须以test_开头,测试函数同样如此,这样pytest才能自动识别:
# tests/test_example.pydef add(a, b):"""示例:两数相加"""return a + bdef test_add():"""测试add函数"""assert add(2, 3) == 5# 检查2+3是否等于5assert add(-1, 1) == 0 # 检查-1+1是否等于0assert add(0, 0) == 0# 检查0+0是否等于0
5. 运行测试
在项目根目录(即包含tests目录的那一层),激活虚拟环境后运行:
pytest
pytest会自动扫描所有符合命名规则的测试文件和函数,输出结果大致如下:
============================= test session starts ==============================collected 1 item tests/test_example.py .[100%]============================== 1 passed in 0.01s ===============================
如果测试通过,会看到.;如果失败,则会显示详细的错误信息,便于快速定位问题。
6. 可选:配置测试选项
在项目根目录创建pytest.ini文件,可自定义pytest的行为,例如指定测试目录、增加输出信息:
# pytest.ini[pytest]addopts = -v# 开启详细输出,能看到每个测试函数的名称testpaths = tests# 指定测试目录为tests(默认也会自动找tests目录及子目录)
配置完成后,运行pytest就会自动应用这些设置,输出更加清晰易读。
7. 可选:集成持续集成(CI)
如需实现代码推送后自动运行测试,可借助GitHub Actions。操作步骤如下:
- 在项目根目录创建
.github/workflows/python-tests.yml文件; - 填写以下内容(以Python 3.8为例):
# .github/workflows/python-tests.ymlname: Python Teston: [push]# 代码推送到仓库时触发jobs:build:runs-on: ubuntu-latest# 使用Ubuntu环境执行steps:- uses: actions/checkout@v2# 拉取代码- name: Set up Python 3.8uses: actions/setup-python@v2with:python-version: '3.8'# 指定Python版本- name: Install dependenciesrun: |python -m pip install --upgrade pip# 升级pippip install pytest # 安装pytest- name: Run testsrun: pytest# 运行测试
配置完成后,每次向GitHub仓库推送代码,GitHub Actions都会自动创建一个Ubuntu环境,安装依赖并运行测试,省时省力。
至此,一个完整的Python测试环境已在Ubuntu上搭建完成——涵盖虚拟环境隔离、自动化测试及持续集成,足以满足大多数项目的测试需求。
