2017-02-16 4 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 설치를 거쳐야 할 것입니다.

3 \ osmks를 어떻게 준비합니까?

여기 막연한 개방성으로 인해 미안하지만 내 능력을 너무 뛰어 넘었습니다.

업데이트 나는 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를 설치했을 것입니다. 실제로는 대개 정상적으로 작동하지만 때로는보고있는 것과 같은 패키지 충돌을 일으킬 수 있습니다.

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

이 여전히 다음 실제로 CONDA-단조에 문제가 작동하지 않는 경우 : OSMnx documentation

, 당신은이 격리하기 위해 깨끗하고 전용 가상 환경에 설치할 수 귀하의 플랫폼 및 Python 버전에 맞는 패키지를 작성하십시오.이 경우 conda-forge GitHub repo에 문제점을 열어야합니다.

마지막으로 anaconda 설정에서 conda-forge를 최우선 순위 채널로 만드는 것을 고려해보십시오..condarc 파일을 확인하고 conda-forge 채널이 defaults 위에 오도록 우선 순위가 부여되도록하십시오. another answer 다른 곳에서 알 수 있듯이, 대신 연속체에 의해 유지되는 디폴트 채널의 CONDA - 단조 채널을 사용하는 3 가지 이유가 있습니다 :있을 수 있습니다 CONDA - 단조에

  1. 패키지는 더 최신 기본값에 비해 채널
  2. 기본값에서 사용할 수없는 패키지가 있습니다.
  3. mkl (기본값에서) 대신 openblas (conda-forge에서)와 같은 종속성을 사용하는 것이 좋습니다.

웨스 맥키 니 (Wes 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