web-dev-qa-db-ja.com

Python GDALパッケージには、pipを介してインストールするときにヘッダーファイルがありません

仮想環境(Ubuntu)内にpip pip install gdalからgdalをインストールしようとしています。 cpl_port.hが見つからないため失敗します

extensions/gdal_wrap.cpp:2853:22: fatal error: cpl_port.h: No such file or directory
compilation terminated

ただし、GDALは正しくインストールされており、ヘッダーファイルは/usr/include/gdal/cpl_port.hにあります。 pipがヘッダーファイルを見つけるために設定する必要があるGDALの環境変数はありますか?

22
Kevin

他のスレッド で提案されているように、pipを実行する前にいくつかのシェル変数をエクスポートすると問題なく動作しました。 *_INCLUDE_PATHのパスはgdal-config --cflagsで見つけることができます。

# GDAL library must have been installed
Sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip install GDAL
23
tomyun

Tomyunの答えは私にとってうまくいきましたが、apt-getを介してインストールされたGDAL-devのバージョンがpipによってインストールされているバージョンと一致することを確認する必要があります。

Ubuntu 14.04の場合、コマンドは次のとおりです。

# GDAL library must have been installed
Sudo apt-get install libgdal-dev

# Set up pip and/or virtualenv stuff
...

# Now install Python binding for GDAL
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip3 install GDAL=1.10.0
7
Neil Smith

PIPの使用

pip install --no-install GDAL

次に、ENV/build/GDALにcdします

python setup.py build_ext --include-dirs=/usr/include/gdal
pip install --no-download GDAL

(ソース: http://ubuntuforums.org/showthread.php?t=1769445

Buildoutの使用:

[gdal-bindings]
recipe = zc.recipe.Egg:custom
Egg = GDAL==1.9.1
include-dirs = /usr/include/gdal
library-dirs = /usr/lib
5
leplatrem

これから取得 コメント 、それは私の問題を直接解決しました

pip3 install GDAL==$(gdal-config --version) 

明示的なバージョン番号は、既存のlibgdalバージョンと一致する必要があります。 –

1
Rhibi Hamza

これは私のために働いたものです:

Gip 2.2.4をpip経由でインストールするには、最新の傍聴バージョンを入手する必要がありました。

Sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
Sudo apt update
Sudo apt install libgdal-dev

その前に、私はextensions/gdal_wrap.cpp:3172:27: fatal error: cpl_vsi_error.h: No such file or directory、pipへの正しい「include」パスを含めた場合でも。

Pipインストール(virtualenv):

 pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal
1

GDALに依存する私のパッケージを仮想環境にテストインストールするときにも、このエラーが発生しました。この場合の解決策は、install_requiressetup.pyパラメータの依存関係をGDALからpygdalに変更することです。そのようです:

install_requires=['pygdal'],

1
Luís de Sousa