2017-02-16 13 views
0

私はjupyterノートブックでpython3を実行しているMacにいます。ロードマップ上のプロジェクトを介してもっと多くのPythonを学ぶために自分自身を押してください。NetworkXのread_shpにはGDALが必要です

私はそう

import networkx as nx 
g = nx.read_shp('Road files/geo_export_4d537b7d-a470-4eb9-b147-1d0ea89e6b60.shp') 

のようなシェープファイルに読んだし、それはダンディ取り組んでいます。

しかし、私は約OSMnxを読んで、「それはかなりクールです!シェイプファイルをオンラインで狩るのではなく、動的に引き出すことができる」と考えています。

私は(pip install osmnx)をインストールしようとしましたが、失敗を続けました。だから私は(conda install -c conda-forge osmnx)他の方法を試してみました。今

、私はもはやこのエラーのための私の最初のnetworkx read_shpを実行できません:

ImportError: read_shp requires OGR: http://www.gdal.org/ 

。私はサイトに行ってGDALをインストールしましたが、エラーは解決しません。

osmnxもインポートできません。一体私はちょうど私の環境にやったのは何\による

from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
ImportError: dlopen(/Users/sb/anaconda/lib/python3.5/site-packages/fiona/ogrext.cpython-35m-darwin.so, 2): Library not loaded: @rpath/libjpeg.8.dylib 
    Referenced from: /Users/sb/anaconda/lib/libgdal.20.dylib 
    Reason: image not found 

1上には、エラー?

2 \ networkxの機能を復元するにはどうすればよいですか?おそらく適切なGDAL(re?)インストールを介して。

3 \ osmnsxをどのように準備しますか?

ここで漠然としたオープンエンドで申し訳ありませんが、私のコードは私の能力をはるかに超えています。

更新 私はconda config --add channels conda-forgeを走り、conda install gdalconda install libgdalを再実行しています。

は、残念ながら私はまだ出てエラーが、それはGDAL必要networkxことを主張している別のエラーです(インストールする必要があります?)

/Users/sb/anaconda/lib/python3.6/site-packages/networkx/readwrite/nx_shp.py in read_shp(path, simplify) 

ImportError: read_shp requires OGR: http://www.gdal.org/ 

FWIW、/Users/sb/anaconda/lib/python3.6python3.5フォルダの両方を持っています。

+0

FWIW、私は一人ではないようです:https://github.com/gboeing/osmnx/issues/25しかし、これらの手順を実行するとどこも私を得ることができません。私は理解していますが、 "Anacondaまたはconda-forgeパッケージの問題" – ScottieB

答えて

1

一般に、conda channelsを混ぜて使用しないでください。おそらく、あなたの環境はデフォルトでdefaultsになっていて、conda-forgeチャネルを介してOSMnxをインストールしていたと思われます。実際には、通常は正常に動作しますが、時には見た目のようなパッケージの競合が発生することがあります。 OSMnx documentationパー

、あなたはそれが隔離されていることを確認するために、クリーン、専用の仮想環境にインストールできます:それはまだ動作しない場合

conda create --yes -c conda-forge -n OSMNX python=3 osmnx 
source activate OSMNX 

その後、conda鍛造での問題は確かにありますあなたのプラットフォームとPythonのバージョンのパッケージ化が必要な場合は、conda-forge GitHub repoに問題をオープンする必要があります。

最後に、anacondaセットアップで最も優先度の高いチャネルをconda-forgeにすることを検討することもできます。.condarcファイルを確認し、conda-forgeチャネルがdefaultsの上にあることを確認してください。 another answerが他の場所で示唆するように、代わりに連続によって維持デフォルトチャネルのconda-鍛造チャネルを使用する3つの主な理由がある:conda・フォージに

  1. パッケージは、より最新のデフォルト上のものよりもよいですチャネル
  2. デフォルトでは利用できないパッケージがあります。
  3. mkl(デフォルトから)の代わりにopenblas(conda-forgeから)などの依存関係を使用することをお勧めします。

ウェズMcKinneyはconda-forgeを使用する利点についてsimilarly commentedを持っています。

+0

答えをありがとう!/Users/me、/ Users/me/anaconda、/ Users/me/anaconda/binに.condarcファイルが表示されません。これは自動的に作成されるものなのでしょうか、それとも作成する必要がありますか? – ScottieB

+0

conda [documentation](https://conda.io/docs/config.html#the-conda-configuration-file-condarc)は '.condarc'ファイルについて説明しています。 – eos

+0

も参照してください[conda-forge PR](https://github.com/conda-forge/conda-forge.github.io/pull/325) – eos

関連する問題