16

OSXでGeoDjangoを使用するためにPostgisをインストールしようとしています。

このために、最初にpostgresを完全にアンインストールしてから、GeoDjangoのドキュメントに従ってすべてをインストールしました:https ://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#homebrew

私は次のことをしました:

brew update
brew upgrade
brew install postgresql
brew install postgis
brew install gdal
brew install libgeoip

Djangoプロジェクトを実行すると、次のエラーが発生します。

OSError at / dlopen(/usr/local/lib/libgeos_c.so, 6): image not found

走った

sudo find . -name "libgeos_c*"

そして得た:

./Library/Frameworks/GEOS.framework/Versions/3/unix/lib/libgeos_c.dylib
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_c.Plo
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_ts_c.Plo
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.1.dylib
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.a
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.dylib
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.1.dylib
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.a
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.dylib
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.1.dylib
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.a
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.dylib
./usr/local/lib/libgeos_c.1.dylib
./usr/local/lib/libgeos_c.a
./usr/local/lib/libgeos_c.dylib

ご覧のとおり、「。so」ファイルはまったくありません。助言がありますか?

編集:

必死になって、KyngChaosパッケージもインストールし、次の設定を追加しました。

GEOS_LIBRARY_PATH = '/Library/Frameworks/GEOS.framework/GEOS' 
GDAL_LIBRARY_PATH = '/Library/Frameworks/GDAL.framework/GDAL' 
GEOIP_LIBRARY_PATH = '/usr/local/Cellar/geoip/1.4.8/lib/libGeoIP.dylib'

これで問題は解決しました。

4

5 に答える 5

22

申し訳ありませんが、KyngChaosソリューションは自作を使用する目的を完全に無効にします。

自作ユーザー(少なくともこれについては)の答えは、アンインストールgeosその依存関係をアンインストールしてから再インストールgeosしてから、その依存関係を再インストールすることです。

これは私のために働いた:

brew uninstall geos gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools
brew cleanup
brew install geos
brew install gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools
brew cleanup

一部のgeos依存関係が同期していないようです。

これが何を返すかを追跡することにより、インストールする必要のあるライブラリを確認できます。

python -c 'import _ctypes; _ctypes.dlopen("/usr/local/lib/libgdal.dylib")'

次のようなものが表示されます

Reason: Incompatible library version: [some geos dependent library].dylib requires version X.X.X or later, but libgeos_c.1.8.0.dylib provides version X.X.X.

brew uninstall [some geos dependency]
brew install [some geos dependency]
brew cleanup

次に、上記のpythonコマンドを再実行すると、問題が解決するか、アンインストール/インストールへの別の依存関係が明らかになります。

于 2013-08-22T17:51:47.787 に答える
3

私はそれをこのように解決しました。

$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip

次に、Django設定で次のように設定します。

GEOS_LIBRARY_PATH = '/usr/local/Cellar/geos/3.4.2/lib/libgeos_c.1.dylib'

それからそれは私のために働いた。

于 2014-10-07T14:47:28.710 に答える
2

インストール手順は、環境変数を設定するという答えを保持しているように見えます$GEOS_LIBRARY_PATH

于 2012-07-02T13:35:39.167 に答える
0

ここでも同じです-指示どおりにすべてをインストールした後、戻ってKyngChaosライブラリを追加し、上記のように3つのエクスポートステートメントを〜/.bash_profileに追加しました。これで私の問題は修正されました。

于 2012-12-13T12:24:33.737 に答える
0

私はこれと同じ問題を抱えていて、HomebrewからGDALをアンインストールし、KyngChaosからGDAL Completeパッケージをインストールすることで解決できました:http ://www.kyngchaos.com/software/frameworks

于 2016-12-15T10:12:02.700 に答える