安装
要求
支持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
这需要兼容的版本 GDAL
和 numpy
从… 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_PATH
, GDAL_LIBRARY_PATH
,以及 GDAL_VERSION
需要设置环境变量。有关如何在Windows上安装这些依赖项的具体说明,请参阅下面。
建造Pyogrio需要 Cython
, numpy
,以及 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_PATH
, GDAL_LIBRARY_PATH
和 GDAL_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
)