>>> from env_helper import info; info()
页面更新时间: 2023-06-23 10:02:48
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-9-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

3.1. RaterIO介绍

3.1.1. 依赖关系

RasterIO 有一个C库依赖项: GDAL >=1.11 。 GDAL 本身依赖于大多数主要操作系统提供的许多其他库,也依赖于非标准 Geos 和 Proj4 库。

Python 包依赖项(另请参见requirements.txt): affine , cligj , click , enum34 , numpy

开发还需要(参见 requirements-dev.txt ) Cython和其他包。

3.1.2. 从二进制文件安装

OS X

包含gdal、geos和proj4库的二进制 Wheel 可用于OS X 10.7+版本,从Rasterio 0.17版开始。 要安装,请运行 pip install rasterio 。 这些二进制 Wheel 是较新版本的PIP的首选。 如果不需要这些 Wheel ,并且希望从源分发版安装,请运行 pip install rasterio –no-use-wheel 相反。

包含的gdal库是相当小的,只提供gdal附带的默认启用的格式驱动程序。 要获得对更多格式的访问权,必须从源分发版构建(请参见下文)。

其他操作系统的二进制 Wheel 将在未来的版本中提供。

Windows

RasterIO 和 GDAL 的二进制 Wheel 由Christoph Gohlke创建,可从他的网站上获得。

要安装Rasterio,请下载系统的两个二进制文件 (rasterio 和 GDAL )从下载文件夹中运行类似的程序:

$ pip install -U pip
$ pip install GDAL-1.11.2-cp27-none-win32.whl
$ pip install rasterio-0.24.0-cp27-none-win32.whl

3.1.3. 与 Python 一起安装

要在 Python 发行版上安装 RasterIO ,请访问 rasterio conda-forge 安装说明页。 此构建与Pypi上的 RasterIO 分布分开维护,包装问题应在 rasterio conda-forge 问题跟踪器。

3.1.4. 从源分发安装

RasterIO 是一个 Python c 扩展,要构建它,您需要一个工作的编译器(Xcodeon OSX等)。 您还需要预安装numpy;运行rasterio安装脚本需要numpy头文件。 必须先安装numpy(通过指定的需求文件),然后才能安装 RasterIO。

3.1.5. Linux系统

以下命令改编自Rasterio的Travis CI配置。

$ sudo add-apt-repository ppa:ubuntugis/ppa
$ sudo apt-get update
$ sudo apt-get install python-numpy gdal-bin libgdal-dev
$ pip install rasterio

根据需要为Linux系统调整它们。

3.1.6. OS X

对于基于自制的Python环境,请执行以下操作。

$ brew install gdal
$ pip install rasterio

3.1.7. Windows

您可以从下载gdal的二进制发行版 , 您还需要下载已编译的库和头文件(包括文件)。

在Windows上从源代码构建时,必须知道 setup.py 不能依赖仅在UNIX系统上存在的 gdal config 来发现 Rasterio 需要编译其C扩展名的头文件和库的位置。 在Windows上,这些路径需要由用户提供。 您需要找到 GDAL 的 include 文件和库文件,并使用如下的 setup.py

$ python setup.py build_ext -I<path to gdal include files> -lgdal_i -L<path to gdal library>
$ python setup.py install

我们已经成功地使用Microsoft的Visual Studio的同一版本编译了代码,该版本用于编译Python的目标版本(有关使用的版本的详细信息 here 。)

注意:GDAL DLL(gdal111.dll)和gdal数据目录需要位于Windows路径中,否则Rasterio将无法工作。