温馨提示×

Ubuntu如何优化Python

小樊
39
2026-07-28 08:21:33
栏目: 编程语言

在 Ubuntu 上优化 Python 性能,可以从系统环境、Python 版本、依赖库、代码结构、并发与部署等多个层面入手。下面按实用程度给你一个系统化清单。


一、系统层面优化

1. 使用最新稳定版 Ubuntu 和内核

sudo apt update && sudo apt upgrade -y

新内核通常对调度、I/O、内存管理有改进。


2. 调整系统资源限制

查看当前限制:

ulimit -a

提高文件描述符限制(常用于高并发):

sudo vim /etc/security/limits.conf

添加:

* soft nofile 65535
* hard nofile 65535

二、Python 版本与解释器优化(最重要)

✅ 推荐使用 Python 3.10+

Ubuntu 22.04+ 默认已支持。

python3 --version

如果版本过低,使用 pyenv 安装新版本:

sudo apt install -y build-essential libssl-dev zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev libreadline-dev \
libsqlite3-dev libffi-dev

curl https://pyenv.run | bash

✅ 使用更快的 Python 解释器

方案 说明
CPython(默认) 稳定
PyPy 长时间运行程序快 2–10 倍
Python + C 扩展 性能瓶颈函数

安装 PyPy:

sudo apt install pypy3

三、依赖与包管理优化

1. 使用虚拟环境(避免系统污染)

python3 -m venv venv
source venv/bin/activate

2. 使用更快的依赖安装方式

pip install -U pip
pip install -r requirements.txt

或使用:

pip install poetry

四、Python 代码层面优化(核心)

1. 使用内置数据结构

✅ 快:

list, dict, set, tuple

❌ 慢:

自定义对象、嵌套循环

2. 避免不必要的循环

❌ 慢:

for i in range(len(lst)):
    print(lst[i])

✅ 快:

for x in lst:
    print(x)

3. 使用局部变量

def f():
    local_print = print
    for i in range(1000000):
        local_print(i)

4. 使用生成器(节省内存)

def gen():
    for i in range(1000000):
        yield i

五、使用高性能库(强烈推荐)

场景 推荐
数值计算 NumPy
数据处理 Pandas
并发 asyncio / concurrent.futures
网络 aiohttp / fastapi
编译加速 Cython / Numba

六、并发与并行优化

1. 多进程(CPU 密集型)

from multiprocessing import Pool

with Pool() as p:
    p.map(func, data)

2. 多线程(I/O 密集型)

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor() as executor:
    executor.map(func, data)

3. 异步(高并发网络)

import asyncio

async def main():
    await asyncio.sleep(1)

asyncio.run(main())

七、使用性能分析工具

1. 内置分析

python3 -m cProfile script.py

2. 内存分析

pip install memory_profiler
python3 -m memory_profiler script.py

3. 时间分析

pip install line_profiler

八、部署与运行优化

✅ 使用生产级服务器

  • FastAPI + Uvicorn
  • Gunicorn + Uvicorn workers
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app

✅ 开启 Python 优化模式

python3 -O script.py

九、进阶(适合高级用户)

  • 使用 Cython 编译关键代码
  • 使用 Numba JIT
  • 使用 Rust / C 扩展
  • 使用 Docker + 精简镜像

✅ 推荐优化优先级(实战)

  1. ✅ 升级 Python 版本
  2. ✅ 用 NumPy / Pandas
  3. ✅ 多进程 / asyncio
  4. ✅ 用 PyPy(适合长任务)
  5. ✅ 性能分析 + 针对性优化

如果你愿意,可以告诉我:

  • Python 版本
  • 使用场景(Web / 数据分析 / 爬虫 / AI)
  • 性能瓶颈(CPU / I/O / 内存)

我可以给你针对性的优化方案 + 示例代码

0