仮想環境(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の環境変数はありますか?
他のスレッド で提案されているように、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
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
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
これから取得 コメント 、それは私の問題を直接解決しました
pip3 install GDAL==$(gdal-config --version)
明示的なバージョン番号は、既存のlibgdalバージョンと一致する必要があります。 –
これは私のために働いたものです:
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
GDALに依存する私のパッケージを仮想環境にテストインストールするときにも、このエラーが発生しました。この場合の解決策は、install_requires
のsetup.py
パラメータの依存関係をGDAL
からpygdal
に変更することです。そのようです:
install_requires=['pygdal'],