安装

要求

支持Python 3.8 - 3.11和GDAL 3.4.x - 3.8.x

读取地理数据框架需要 geopandas>=0.12 使用 shapely>=2

此外,安装 pyarrow 与GDAL 3.6+相结合,在指定时进一步加速 use_arrow=True

安装

孔达福吉

该套餐可在 [conda-forge] (https://anaconda.org/conda-forge/pyogrio)适用于Linux、MacOS和Windows。

conda install -c conda-forge pyogrio

这需要兼容的版本 GDALnumpy 从… conda-forge 用于原始I/O支持和 geopandas 及其对GeDataFrame I/O支持的依赖项。

PyPI

该套餐可在 [PyPI] (https://pypi.org/project/pyogrio/)适用于Linux、MacOS和Windows。

pip install pyogrio

这将安装包括GDAL在内的二元轮。

如果您遇到有关Cython或GDAL不可用的安装错误,这很可能是由于安装过程退回到从源发行版安装,因为可用的轮子与您的平台不兼容。

故障排除安装错误

如果您使用安装GeoPandas或Fiona pip ,您可能会遇到与Fiona预安装的确切GDAL库与使用Pyogrio编译的GDAL版本不兼容相关的问题。

对于支持的驱动程序来说,这可能会显示为类似的例外(例如, ESRI Shapefile ):

pyogrio.errors.DataSourceError: Could not obtain driver ...

要解决这个问题,请卸载 fiona 然后重新安装以使用系统GDAL:

pip uninstall fiona
pip install fiona --no-binary fiona

然后重新启动您的翻译器。这确保了Pyogrio和Fiona使用完全相同的GDAL库。

发展

将此存储库克隆到本地文件夹。

为您的系统安装适当的GDAL分发版。要么 gdal-config 必须位于您的系统路径上(以自动确定GDAL路径),或者 GDAL_INCLUDE_PATHGDAL_LIBRARY_PATH ,以及 GDAL_VERSION 需要设置环境变量。有关如何在Windows上安装这些依赖项的具体说明,请参阅下面。

建造Pyogrio需要 Cythonnumpy ,以及 pandas

皮奥里奥追随 [GeoPandas Style Guide] (https://guardandas.org/en/stable/community/contribution.html#style-guide-linting)和用途 Ruff 以确保格式一致。

建议安装 pre-commit 并注册其挂钩,以便在提交代码时自动验证格式。

pre-commit install

python setup.py develop 在Cython中构建扩展。

测试使用 pytest

pytest pyogrio/tests

窗口

有不同的方法可以在Windows上安装必要的依赖项并设置本地开发环境。

vcpkg

[vcpkg] (https://vcpkg.io/en/index.html)用于从源代码构建pyogrio,作为为Windows创建Pyogrio Python轮子的一部分。您可以使用vcpkg安装GDAL和其他依赖项,然后从源代码构建Pyogrio。

看见 .github/workflows/release.yml 了解有关如何将vcpkg用作车轮构建过程一部分的详细信息。

我们尚未获得有关使用vcpkg从源代码构建Pyogrio以进行本地开发的说明;请随时提供额外文档!

OSGo4W

您还可以从适当的Windows二进制文件提供商安装GDAL。我们听说 [OSGeo4W] (https://Trac.osgeo.org/osgeo4w/)有效。

要在Windows上构建,您需要提供额外的环境变量或命令行参数,因为GDAL二进制文件和标头的位置无法自动确定。

假设GDAL 3.4.1安装到 c:\GDAL ,您可以设置 GDAL_INCLUDE_PATHGDAL_LIBRARY_PATHGDAL_VERSION 环境变量和构建如下:

set GDAL_INCLUDE_PATH=C:\GDAL\include
set GDAL_LIBRARY_PATH=C:\GDAL\lib
set GDAL_VERSION=3.4.1
python -m pip install --no-deps --force-reinstall --no-use-pep517 -e . -v

或者,您也可以将这些选项作为命令行参数传递:

python -m pip install --install-option=build_ext --install-option="-IC:\GDAL\include" --install-option="-lgdal_i" --install-option="-LC:\GDAL\lib" --install-option="--gdalversion=3.4.1" --no-deps --force-reinstall --no-use-pep517 -e . -v

GDAL DLC的位置必须位于您的系统上 PATH

--no-use-pep517 需要将其他选项传递到构建后台(请参阅https://github.com/pypa/pip/issues/5771)。

Conda

还可以使用conda安装必要的依赖项。

克隆环境后,您可以创建具有必要依赖项的conda环境,如下所示:

conda env create -f environment-dev.yml

在能够在Windows上构建之前,您需要设置一些额外的环境变量,因为GDAL二进制文件和标头的位置无法自动确定。

开启了 pyogrio-dev 环境的 CONDA_PREFIX 环境变量将可用。假设安装了GDAL 3.8.3,您将能够如下设置必要的环境变量:

set GDAL_INCLUDE_PATH=%CONDA_PREFIX%\Library\include
set GDAL_LIBRARY_PATH=%CONDA_PREFIX%\Library\lib
set GDAL_VERSION=3.8.3

现在你应该可以跑了 python setup.py develop 在Cython中构建扩展。

GDAL和PROJ数据文件

GDAL要求某些文件存在于GDAL数据文件夹以及PROJ数据文件夹中。这些文件夹通常会自动检测到。

如果GDAL和PROJ的安装异常,您可能需要在 runtime 为了让GDAL正确检测到这些:

  • GDAL_DATA 到包含GDAL数据文件的文件夹(例如,包含 header.dxf )在Pyogrio使用的GDAL安装中。

  • PROJ_LIB 到包含PROJ数据文件的文件夹(例如,包含 proj.db )