温馨提示×

Ubuntu怎么优化Python

小樊
44
2026-08-24 19:23:23
栏目: 编程语言

在 Ubuntu 上优化 Python,通常可以从 系统环境、Python 版本、依赖管理、运行时性能、代码层面、并发与部署 等多个维度来做。下面给你一套比较实用、循序渐进的优化方案。


一、系统与 Python 环境优化

1. 使用最新稳定版 Python(推荐)

Ubuntu 自带 Python 往往较旧。

python3 --version

建议使用 Python 3.10+ 或 3.12(性能提升明显)。

安装方式(推荐 deadsnakes):

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.12 python3.12-venv python3.12-dev

2. 使用虚拟环境(非常重要)

避免系统 Python 污染,提高可维护性。

python3 -m venv venv
source venv/bin/activate

✅ 优点:

  • 依赖隔离
  • 可复现
  • 部署更干净

二、包与依赖优化

3. 使用 pip + 国内镜像

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package

永久配置:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

4. 锁定依赖版本

pip freeze > requirements.txt

或使用更现代的:

pip install pip-tools
pip-compile

三、Python 运行性能优化

5. 使用更快的解释器

解释器 说明
CPython 默认
PyPy 对循环、计算密集型程序快 2–10 倍
Python 3.12+ 本身已优化
sudo apt install pypy3
pypy3 your_script.py

✅ 适合:

  • 长时间运行
  • 大量循环
  • 数值计算

❌ 不适合:

  • 强依赖 C 扩展(NumPy 等)

6. 开启 Python 优化模式

python -O your_script.py
  • 移除 assert
  • 减少调试开销

四、代码层面优化(最重要)

7. 使用内置数据结构

✅ 快:

list, dict, set, tuple

❌ 慢:

自定义对象、嵌套循环

8. 避免不必要的循环和拷贝

❌ 差:

a = a + b

✅ 好:

a += b

9. 使用生成器

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

✅ 省内存、速度快


10. 使用 NumPy / Pandas(数值/数据处理)

pip install numpy pandas

✅ 底层是 C,性能极高


五、并发与并行优化

11. 根据任务类型选择方案

场景 方案
IO 密集 asyncio / threading
CPU 密集 multiprocessing
网络请求 asyncio + aiohttp

asyncio 示例

import asyncio

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

asyncio.run(task())

12. 使用进程池(CPU 密集)

from multiprocessing import Pool

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

六、系统级优化

13. 提高文件 / 网络性能

# 临时提高文件描述符限制
ulimit -n 65535

14. 使用更快的磁盘 / tmpfs

mount -t tmpfs tmpfs /tmp

适合临时数据、缓存


七、部署与运行优化

15. 使用 Gunicorn / Uvicorn(Web)

pip install gunicorn uvicorn
gunicorn app:app -w 4 -k uvicorn.workers.UvicornWorker

✅ 提高并发能力


16. 使用 Cython / Numba(高级)

Numba(数值计算)

pip install numba
from numba import njit

@njit
def f(x):
    return x * 2

八、调试与性能分析(先分析再优化)

17. 性能分析工具

pip install py-spy
py-spy top --pid <pid>

或:

python -m cProfile script.py

九、推荐的“最佳实践组合”

通用 Python 项目

  • Ubuntu + Python 3.12
  • venv
  • pip + 清华源
  • asyncio / multiprocessing
  • 代码优化优先

计算密集型

  • PyPy / Numba / Cython

Web 服务

  • Python 3.12
  • FastAPI
  • Uvicorn + Gunicorn

十、我可以继续帮你

你可以告诉我:

  1. Web / 爬虫 / 数据分析 / AI / 后端服务
  2. 当前 Python 版本
  3. 是否感觉 慢、卡、内存高

我可以直接给你 针对你项目的优化方案 + 示例代码

0