2017-08-31 38 views
1

私は、Windows環境でPython 2.7とAnacondaを使用してgdalのライブラリ作業をしようとしています。condaでgdalをインストールし、環境変数を設定する

gdalに加えて、私もlibgdalをインストールしました(率直に言って、私は実際には2つの違いを理解していません)。私は今、gdal 2.1.0と2.0.2だけでなくlibgdal 2.1.0を持っているようです。私はすでに

C:\Anaconda\pkgs\libgdal-2.1.0-vc9_0\Library\share\gdal

を指すようにGDAL_DATA環境変数を設定している

'gdalwarp' is not recognized as an internal or external command, operable program or batch file.

私もパスを追加しました:私は私のPyのコードを実行すると

しかし、GDALの誤差があります私はこれが指し示すべき場所を完全には分かっていませんが、

C:\Anaconda\pkgs\libgdal-2.1.0-vc9_0\Library\bin

私は同じことを試しましたgdal 2.0.2を成功させた。 gdalwarp.exeはlibgdal 2.1.0とgdal 2.0.2の下に存在するようです。

アイデア?インストールに問題がありますか、環境変数を正しく設定していませんか?

conda install gdal 
conda install -c conda-forge gdal 
conda install -c anaconda gdal 

補遺::私は手動で解決策を見つけた:私は、端末にGDAL_DATAとPATH変数を設定する(2.1.0をlibgdalを指しFYI、私は特に、さまざまなインストールコマンドを試してみました

)コードを実行する前に...

しかし、まだ私は私のPyのコードを実行する問題がある。

cmd = 'gdal_polygonize.py %s -f "ESRI Shapefile" %s'%(dst_tif, dst_shp) 
:gdal_polygonizeでSHPするTIFFファイルを変換することになっています

エラーはありませんが、シェイプファイルが作成されていません(コードの後に​​エラーが発生します)。なぜgdalがまだ正しく動作していないのかについてのアイデアはありますか?

私はOSGEOにENV変数を指して試してみました:

set PATH=%PATH%;C:\Anaconda2\Lib\site-packages\osgeo\scripts 
set GDAL_DATA=C:\Anaconda2\Lib\site-packages\osgeo\data\gdal 

Gdalinfoは動作しますが、私のPyのコードで使用gdal_polygonizeが動作するように表示されません。

答えて

0

キーは、環境をアクティブにするとき(潜在的に)実行されるアクティベーションスクリプトです。 CondaのためのすべてのGDALビルドがこれを含んでいるわけではありません。私の経験では最近のコンダフォージのビルドは本当に良いです。

py27とGDAL 2の要件に合わせてください。

1)新しい環境を作成します:1、私はそれがこれらの手順に従って、作業を取得することができますconda create -n gdaltest python=2.7

2)が有効に:conda install gdal=2.1 -c conda-forge

4)再アクティブ化環境:activate gdaltest

3)GDALをインストール:deactivate + activate gdaltest これにより、インストールされたばかりのアクティベーションスクリプトが強制的に実行され、環境変数が設定されます。

私はPythonを起動し、os.system("gdalinfo")を実行すると、正しくピックアップされていることがわかります。 os.environ['GDAL_DATA']を実行すると、パスが正しく設定されていることが確認されます。

あなたは時(デ)起動スクリプトを自分で見ることができます: C:\Miniconda3\envs\<env name>\etc\conda\activate.d\gdal-activate.bat

数年前に、これは、それが今日そうであるようにも働くので、あなたが最近Condaバージョン(4.3を持っていることを確認していませんでした。 x)など

この方法の利点は、環境を切り替えるときに、パスもそれに応じて変更されることです。 「ハードコードされた」GDAL_DATAパスは、異なるGDALバージョンを混在させて一致させると互換性の問題を引き起こす可能性があります(通常は正常に動作しますが)。

関連する問題