示例环境:
Linux 发行版:Ubuntu 25.10
Python 包管理器:UV(不使用 Pip)

前提条件

安装系统级依赖

# 先更新软件源,再安装所有必需的系统工具和库
sudo apt update && sudo apt install -y \
  build-essential \  # 基础编译工具集
  gcc \              # C 编译器
  cmake \            # 构建工具
  pkg-config \       # 依赖检测工具
  libc6-dev \        # C 标准库开发文件
  libffi-dev         # libffi 开发文件

安装 UV 包管理器

使用 curl 下载脚本并通过 sh 执行:

curl -LsSf https://astral.sh/uv/install.sh | sh

如果系统没有 curl,可以使用 wget

wget -qO- https://astral.sh/uv/install.sh | sh

安装 Pwntools 依赖

创建 Python 项目目录

mkdir -p python/test

创建 Python 项目

cd python/test
# 创建Python项目(初始化项目,test为Python项目的根目录)
uv init

完成创建后使用 ls 命令可见项目文件

❯ ls
README.md  main.py  pyproject.toml  test  uv.lock

编辑 pyproject.toml 文件,添加 Python 版本(随意)和依赖(pwntools);此文件的作用类似 Pip 的 requirements.txt 文件。

[project]
name = "cybersecurity"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.15"
dependencies = [
    "pwntools"
]

同步项目依赖到环境,等待同步完成,便可以使用 from pwn import * 了。

uv sync

若创建了一个 1. py 文件,可以不进入 UV 的虚拟环境,直接通过 uv run 命令运行

uv run python 1.py