You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux机器上安装GRASS GIS并搭配Python使用?求Bash脚本方案

Linux 安装 GRASS GIS 指南

一、通过包管理器快速安装

Debian/Ubuntu 系列

直接用系统包管理器安装稳定版:

sudo apt update
sudo apt install grass grass-gui

RHEL/CentOS/Fedora 系列

用dnf(或yum)完成安装:

sudo dnf update
sudo dnf install grass grass-gui

二、源码编译安装(适配最新功能需求)

如果包管理器提供的版本过旧,可手动编译源码:

  1. 安装编译依赖:
    # Debian/Ubuntu 系
    sudo apt install build-essential libgdal-dev libproj-dev libgeos-dev libsqlite3-dev libfftw3-dev libreadline-dev libncurses5-dev libbz2-dev zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libxmu-dev libwxgtk3.0-gtk3-dev python3-dev python3-pip
    
    # RHEL/CentOS/Fedora 系
    sudo dnf install gcc gcc-c++ gdal-devel proj-devel geos-devel sqlite-devel fftw-devel readline-devel ncurses-devel bzip2-devel zlib-devel libpng-devel libjpeg-turbo-devel libtiff-devel libXmu-devel wxGTK3-devel python3-devel python3-pip
    
  2. 克隆最新源码:
    git clone https://github.com/OSGeo/grass.git
    cd grass
    
  3. 配置编译参数(可指定安装路径,示例为/opt/grass):
    ./configure --prefix=/opt/grass --with-python --with-wxwidgets
    
  4. 编译并安装:
    make -j$(nproc)
    sudo make install
    
GRASS GIS 与 Python 结合使用

GRASS 自带 Python 绑定,常用两种结合方式:

方式一:在 GRASS 会话内运行 Python 脚本

启动 GRASS GIS 图形界面后,打开内置 Python 控制台即可直接调用 GRASS 模块:

import grass.script as gs

# 示例:列出当前地图集内的栅格数据
print(gs.parse_command('g.list', type='raster'))

也可在终端启动 GRASS 会话后执行外部脚本:

grass /path/to/your/location/PERMANENT --exec python3 your_script.py

方式二:在外部 Python 环境调用 GRASS

需先配置 GRASS 环境变量,示例脚本:

import os
import sys

# 指定 GRASS 安装路径
grass_path = '/opt/grass'
os.environ['GISBASE'] = grass_path
sys.path.append(os.path.join(grass_path, 'etc', 'python'))

# 初始化 GRASS 环境
import grass.script as gs
gs.init('/path/to/your/location', 'PERMANENT')

# 调用 GRASS 地形分析模块
gs.run_command('r.slope.aspect', elevation='dem', slope='dem_slope')
自动化安装的 Bash 脚本

以下脚本支持 Debian/Ubuntu 和 RHEL/CentOS/Fedora 系,会自动识别发行版并完成 GRASS GIS 安装:

#!/bin/bash

set -e

# 检测发行版类型
if [ -f /etc/debian_version ]; then
    echo "识别到 Debian/Ubuntu 系统"
    sudo apt update -y
    sudo apt install -y grass grass-gui python3-pip
elif [ -f /etc/redhat-release ]; then
    echo "识别到 RHEL/CentOS/Fedora 系统"
    sudo dnf update -y
    sudo dnf install -y grass grass-gui python3-pip
else
    echo "不支持当前 Linux 发行版"
    exit 1
fi

# 验证安装结果
grass --version
echo "GRASS GIS 安装完成"

使用步骤:

  1. 将脚本保存为install_grass.sh
  2. 赋予执行权限:chmod +x install_grass.sh
  3. 运行脚本:./install_grass.sh

若需要源码编译的自动化脚本,可基于前文编译步骤扩展,添加版本选择、安装路径自定义等参数。

内容的提问来源于stack exchange,提问作者gcamargo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:11:06