✍️ 朱邓达  •  📅 2025-04-17  •  ⚡ 2025-09-22

安装

依赖

如果想使用 C 程序 grt

  • FFTW ,其静态库已链接到预构建版本

  • NetCDF ,其静态库已链接到预构建版本

  • Seismic Analysis Code (SAC) ,需在对应网址申请下载。 用于用户进一步处理 SAC 格式的输出波形。

如果你想以Python脚本形式使用,依赖已在 setup.py 中写好,直接使用 pip 安装即可。

安装预构建版本

  • 目前 PyGRT 已分发内置预构建二进制文件的安装包,用户仅需运行以下命令即可(建议使用 Anaconda 虚拟环境)

    pip install pygrt-kit
    

    或者从 Github Releases 中下载最新版本的程序压缩包(符合自己的操作系统),解压,在根目录下运行以下命令即可

    pip install .
    
  • 如果你不想使用Python,只想使用传统的命令行形式运行C程序,也可从 Github Releases 中下载最新版本的程序压缩包(符合自己的操作系统), 解压,其中 pygrt/C_extension/binpygrt/C_extension/lib 为预构建好的可执行文件目录和动态/静态库目录, 按自己习惯配置环境变量 PATH 即可(详见下方)。

环境变量配置

  • 如果你使用 pip 安装后,想使用构建好的C程序 grt ,需配置环境变量 PATH 。运行以下命令

    python -m pygrt.print
    

    输出

    PyGRT installation directory: </path/to/installation>
    PyGRT executable file directory: </path/to/installation/bin>
    PyGRT library directory: </path/to/installation/lib>
    

    将其中的 “PyGRT executable file directory” 路径添加到环境变量 PATH 中即可。

  • 如果是从 Github Releases 上直接下载的压缩包,则只需将解压后的 bin/ 路径添加到环境变量 PATH 中即可。

C程序 grt 的运行独立于Python,每个C程序可使用 -h 查看帮助。

从源码构建安装

如果安装好预构建版本后,运行 C 或 Python 提示 “GLIBC” 版本缺失以及其它库的版本问题,可尝试从源码从头构建二进制库文件和可执行文件。

  1. 安装程序开发所需的基本工具,如 gcc 编译器, make 工具等。

  2. 安装 NetCDF

  3. 安装 FFTW

要求安装双精度和单精度两个版本,且要求编译出静态库,并要求在环境变量 LIBRARY_PATH 中配置静态库路径。如果从源码编译安装 FFTW ,通常在其目录下运行以下命令即可安装+配置路径成功(以 Ubuntu 系统为例):

# 编译双精度版本
./configure CFLAGS="-fPIC"
make
make install

# 编译单精度版本
./configure CFLAGS="-fPIC" --enable-float
make
make install
  1. 构建 PyGRT

切换到 PyGRT 程序目录(不论是使用 pip 安装的还是从 Github Releases 下载的),切换到 pygrt/C_extension ,运行

make

进行构建。成功后会在 bin/lib/ 路径下看到新构建出来的可执行文件和库文件。如果正确配置了 PATH 可尝试运行 grt -h 看能否正常打印帮助文档。再运行

make cleanbuild

可清理构建过程产生的中间文件夹 build/

常见问题

  • 如果运行报错,提示缺少依赖(常见于MacOS),这通常是缺少 OpenMP 库。尝试安装 gcc 编译器,其中会自带 OpenMP

  • “GLIBC” 版本缺失:请尝试从源码构建。