杰瑞科技汇

ubuntu python 科学计算

总览:Ubuntu + Python 科学计算的强大组合

Ubuntu 作为最受欢迎的 Linux 发行版之一,为 Python 科学计算提供了理想的环境,其强大的包管理器、稳定性和对开源社区的良好支持,使得安装和配置各种科学计算库变得异常简单。

整个生态系统的核心是 NumPy, SciPy, Pandas, MatplotlibScikit-learn,它们共同构成了 Python 科学计算的“梦幻五人组”。


第一步:环境准备与 Python 安装

在开始之前,强烈建议使用 虚拟环境 来隔离项目依赖,避免不同项目之间的库版本冲突。

更新系统

打开终端,首先更新你的软件包列表和已安装的包:

sudo apt update
sudo apt upgrade -y

安装 Python 和 pip

Ubuntu 通常已经预装了 Python,但最好确保安装了 python3 和其包管理器 pip

# 检查 Python 版本 (推荐 3.8+)
python3 --version
# 安装 python3 和 pip
sudo apt install python3 python3-pip python3-venv -y

创建并激活虚拟环境

这是最关键的一步!为你的科学计算项目创建一个独立的虚拟环境。

# 创建一个名为 'sc_env' 的虚拟环境
python3 -m venv sc_env
# 激活虚拟环境
source sc_env/bin/activate

激活后,你的终端提示符前面会出现 (sc_env),表示你已在该环境中,之后所有的 pip 安装都会只作用于这个环境。

升级 pip

在虚拟环境中,首先升级 pip 到最新版本:

pip install --upgrade pip

第二步:安装核心科学计算库

在你的激活的虚拟环境中,开始安装核心库。

NumPy (Numerical Python)

作用:科学计算的基础,提供了高性能的多维数组对象 ndarray 以及相关操作。 安装

pip install numpy

SciPy (Scientific Python)

作用:在 NumPy 的基础上构建,提供了更高级的数学、科学和工程函数,如线性代数、积分、插值、信号处理等。 安装

pip install scipy

Pandas (Python Data Analysis Library)

作用:数据分析和处理的利器,提供了 DataFrameSeries 等数据结构,能让你轻松地处理、清洗、分析结构化数据。 安装

pip install pandas

Matplotlib

作用:最基础的 Python 绘图库,用于创建静态、动态和交互式可视化图表。 安装

pip install matplotlib

Scikit-learn

作用:机器学习库,提供了简单高效的工具用于数据挖掘和数据分析,包括分类、回归、聚类、降维等算法。 安装

pip install scikit-learn

第三步:安装高级与可视化库

对于更专业的任务,你可能还需要以下库:

数据处理与高性能计算

  • Dask: 用于处理“大于内存”的数据集,可以看作是 Pandas 和 NumPy 的并行计算版本。
    pip install dask
  • Polars: 一个用 Rust 编写的高性能 DataFrame 库,速度极快,是 Pandas 的一个优秀替代品。
    pip install polars

科学计算与工程

  • SymPy: 用于符号数学计算,可以进行微积分、代数、离散数学等符号运算。
    pip install sympy
  • Astropy: 为天文学设计的核心库,但也包含许多通用的科学计算工具。
    pip install astropy

数据可视化

  • Seaborn: 基于 Matplotlib 的高级接口,能让你用更少的代码创建更美观、信息量更丰富的统计图表。
    pip install seaborn
  • Plotly: 用于创建交互式、 publication-quality 的图表,可以嵌入到网页或 Jupyter Notebook 中。
    pip install plotly
  • Bokeh: 另一个强大的交互式可视化库,特别适合处理大型数据集。
    pip install bokeh

机器学习与深度学习

  • JAX: Google 开发的高性能数值计算库,特别适合进行机器学习研究,结合了 NumPy 的易用性和自动微分、JIT 编译等高级功能。
    pip install "jax[cpu]"
  • PyTorch: 目前最流行的深度学习框架之一。
    pip install torch torchvision torchaudio
  • TensorFlow: Google 开发的另一个主流深度学习框架。
    pip install tensorflow

第四步:开发工具与工作流

一个好的工作流能极大提升你的效率。

Jupyter Notebook / JupyterLab

这是进行科学计算和数据探索的标准工具,它将代码、文本、数学公式和可视化结果整合在一个交互式文档中。

# 安装 JupyterLab (推荐,功能更强大)
pip install jupyterlab
# 启动 JupyterLab
jupyter lab

启动后,你的浏览器会打开一个交互式界面,你可以在其中创建和运行代码单元。

IDE (集成开发环境)

对于编写大型项目,使用功能更强大的 IDE 是更好的选择。

  • VS Code (Visual Studio Code):

    • 安装: 从官网下载或使用 sudo apt install code
    • 必备插件:
      • Python: 由 Microsoft 官方提供,提供代码补全、调试、 linting 等功能。
      • Jupyter: 支持在 VS Code 中直接打开和运行 .ipynb 文件,体验和 Jupyter Lab 类似。
      • Pylance: 提供极速的 Python 语言服务器,增强代码分析和智能提示。
  • PyCharm:

    • 安装: 下载社区版(免费)或专业版。
    • 特点: 专为 Python 设计,功能非常全面,包括强大的调试器、版本控制集成、科学计算模式(支持 Matplotlib、Pandas 等)。

性能分析工具

当你的代码变慢时,你需要知道瓶颈在哪里。

  • cProfile: Python 内置的性能分析器,可以告诉你每个函数被调用了多少次,以及花费了多少时间。
    python -m cProfile your_script.py
  • line_profiler: 逐行分析代码的执行时间。
    pip install line_profiler
    # 在代码文件顶部添加 @profile 装饰器
    # kernprof -l -v your_script.py

第五步:加速计算 (可选)

对于大规模计算,CPU 可能会成为瓶颈,Ubuntu 对 GPU 加速有很好的支持。

使用 NVIDIA GPU

如果你的电脑有 NVIDIA 显卡,可以利用 CUDA 来大幅加速计算。

  • 安装 NVIDIA 驱动: 可以通过 ubuntu-drivers 工具自动推荐和安装。
    sudo ubuntu-drivers autoinstall
    # 重启后验证
    nvidia-smi
  • 安装 CUDA Toolkit: 从 NVIDIA 官网下载 .run 文件进行安装。
  • 安装 cuDF: 这是 RAPIDS 生态系统的一部分,提供了 GPU 加速的 Pandas API。
    pip install cudf-cu11 --extra-index-url=https://pypi.nvidia.com

第六步:一个简单的综合示例

在你的虚拟环境中,创建一个 example.py 文件,并尝试运行下面的代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 1. 使用 NumPy 创建一个随机数组
data = np.random.randn(1000, 4)
print("NumPy Array Shape:", data.shape)
# 2. 使用 Pandas 将数据转换为 DataFrame
df = pd.DataFrame(data, columns=['A', 'B', 'C', 'D'])
print("\nPandas DataFrame Head:")
print(df.head())
# 3. 使用 Matplotlib 和 Seaborn 进行数据可视化
# 创建一个 2x2 的子图
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
fig.suptitle('Scientific Computing with Python on Ubuntu')
# 绘制直方图
df['A'].hist(ax=axes[0, 0], bins=30)
axes[0, 0].set_title('Histogram of Column A')
# 绘制散点图
df.plot.scatter(x='A', y='B', ax=axes[0, 1], alpha=0.5)
axes[0, 1].set_title('Scatter Plot of A vs B')
# 使用 Seaborn 绘制箱线图
sns.boxplot(data=df[['A', 'B', 'C']], ax=axes[1, 0])
axes[1, 0].set_title('Boxplot of Columns A, B, C')
# 绘制相关性热图
corr = df.corr()
sns.heatmap(corr, annot=True, ax=axes[1, 1])
axes[1, 1].set_title('Correlation Heatmap')
plt.tight_layout(rect=[0, 0, 1, 0.96])
plt.show()
print("\nData Description:")
print(df.describe())

运行这个脚本:

python example.py

你将看到一个包含四个图表的窗口,并打印出 NumPy 数组和 Pandas DataFrame 的信息。


步骤 核心任务 推荐工具/命令
环境 创建隔离的开发环境 python3 -m venv my_env
source my_env/bin/activate
核心 安装基础科学计算库 pip install numpy scipy pandas matplotlib scikit-learn
高级 安装专业和可视化库 pip install seaborn plotly sympy polars
pip install torch tensorflow
工具 选择合适的开发环境 探索: jupyter lab
开发: VS Code (with Python/Jupyter plugins) 或 PyCharm
加速 利用 GPU 提升性能 安装 NVIDIA 驱动, CUDA, pip install cudf

遵循这个指南,你就可以在 Ubuntu 上搭建一个强大、高效且专业的 Python 科学计算环境,祝你探索愉快!

分享:
扫描分享到社交APP
上一篇
下一篇