GEOS、PROJ、GDAL / OGRをMac OS Xのpython virtualenvにインストールする


12

私は、Mac OS XのGISプロジェクトで動作するように、孤立したpython virtualenvをセットアップしようとしています。GEOS、PROJ、GDAL / OGRをkyngchaosサイト(http://www.kyngchaos.com/)からインストールする必要があるようですソフトウェア/フレームワークであり、easy_installではなく、virtualenvにインストールします。正確ですか?

kyngchaosで利用できるダウンロードはpkgインストーラーであり、単なるPythonモジュールの卵またはbdistではありません。そのため、インストーラがファイルを/Library/Framework/geos.frameworkフォルダにコピーするだけでなく、環境に対して他に何をしているのかについてはよくわかりません。

GEOS、PROJ、GDAL / OGRの特定のバージョンを新しいpython virtualenvにインストールするにはどうすればよいですか?この問題に関するあなたの助け/提案に感謝します。

回答:


4

Kyngchaosの各フレームワークがPATHにある場合、それは簡単です。すべてのフレームワークにはUnixフォルダーがあり、pyprojやgeos pythonのようなものをコンパイルするためのライブラリーが、プライベートPython環境でも(問題は一度もありません)

唯一の問題は、Gdal pythonがGdal Frameworkにあることです。しかし、サイトパッケージにはファイルgdal.pthがあります

gdal.pthファイル:

import sys; sys.path.insert(0,'/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages')

自分でコンパイルしたくない場合は、このファイルを分離されたpython virtualenvにコピーしてください


サードパーティのインストーラー(fink / macports / whatever)およびその他の手段を使用して、これらのプロジェクトを手作業でインストールしたので、Kynchaosを使用するのが最良の方法であることを保証します!+1000
Ragi Yaser Burhum

@Ragi Yaser Burhum –私はあなたに同意し始めています!私はFinkを使用して、PythonでCartopyを実行するために必要な依存関係をインストールしようとしています。libgeos_c.dylibが/sw/opt/libgeos3.6.1/libにあり、そのパスを.bash_profileに追加しても、「OSError:lib geos_cが見つからないか、そのバリアントをロードできませんでした」というメッセージが表示されます。finkでの経験に基づいた知恵の真珠があるとは思いませんか?
user1718097

@use use Homebrew :)
Ragi Yaser Burhum

@RagiYaserBurhum ;-)
user1718097


3

Virtualenvを使用すると、プライベートPython環境をプロビジョニングできますが、Pythonユニバース以外のシステムライブラリには拡張できません。あなたが言及した3つのパッケージはすべてコアのC / C ++アプリケーションです。したがって、Pythonで使用するためのインターフェースはありますが、Cライブラリと対話せずにパッケージ化することはできません(libcを起動)。

特にOS Xでは、これらのパッケージを最初からインストールするのが難しいため、VirtualBoxなどを使用してサンドボックス化された仮想マシンを実行することを検討し、そのサンドボックス化されたマシンにaptを介してパッケージをインストールすることができます: OS X、おそらく努力する価値はありません。


これは良い推奨事項です。VirtualBoxではなく、Fusionを使用してこのアプローチに従いましたが、次回はVirtual Boxを試すかもしれません。ボックス内のOSにはCentOSを使用しました。(Pythonの安定した性質や古いバージョンなどのため、最良のOSの選択ではありません。)
DavidF

3

OSXを使用する必要がある場合、homebrewをインストールすることでインストールの複雑さを簡単に回避できます!

この後、入力する必要があるコマンドは次のとおりです。

brew install gdal

これらはgdal依存関係であるため、projおよびgeoも自動的にインストールされます。


3
virtualenv内からgdalにアクセスする問題に対処するとは思わない(試してみたが機能しなかった)
djq 14年

1
brew install gdal--system-site-packagesフラグを使用してvenvを作成する限り使用できます。こちらの回答を参照してくださいgis.stackexchange.com/a/345248/155269
88jayto

1

私のケースで機能する別のソリューションを提供する良いブログ投稿を見つけました。

http://linfiniti.com/2013/02/installing-python-gdal-into-a-python-virtualenv-in-osx/

ブログ投稿との唯一の違いは、kyngchaosパッケージに一致するGDALの正しいバージョンをダウンロードすることでした。私の場合、GDALフレームワークバージョン1.10を使用していたため、次のインストールは成功しました。

source venv/bin/activate
pip install --no-install GDAL==1.10.0
cd venv/build/GDAL
python setup.py build_ext\
    --gdal-config=/Library/Frameworks/GDAL.framework/Versions/1.10/unix/bin/gdal-config\
    --library-dirs=/Library/Frameworks/GDAL.framework/Versions/1.10/unix/lib/\
    --include-dirs=/Library/Frameworks/GDAL.framework/Versions/1.10/Headers/

次に、GDALディレクトリを離れて、ダウンロードせずにインストールします

cd ~
pip install --no-download GDAL

更新:コンパイル手順を機能させるには、setup.pyを呼び出す前にいくつかのenv変数を追加する必要がある場合があります(この質問を参照

export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments

0

上記のYellowcapの答えは、いくつかのマイナーな調整で私にとってはうまくいった:

pip install --no-installはオプションではなくなりました。代わりに、envディレクトリ内で:

pip download GDAL==1.11.2 (or whichever version you want)

ダウンロードしたディレクトリを解凍し、そこにcdします:

tar -zxvf GDAL-1.11.2.tar.gz
cd GDAL-1.11.2

pip install --no-downloadもオプションではなくなりました。代わりに、GDALディレクトリにとどまり、次を実行します。

python setup.py build
python setup.py install

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.