Closed liquidgenius closed 4 years ago
A reinstall of the environment again as clean Python 3.8.0 with only the osmnx module added produces the same error with the following minimized code:
import osmnx as ox
ox.config(log_console=True, use_cache=True)
# download the street network for Piedmont, CA
G = ox.graph_from_place('Piedmont, California, USA', network_type='drive')
/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/bin/python /Users/liquidgenius/Projects/osmnx_maps/src/main.py
Configured osmnx
Retrieved response from cache file "cache/7a10ef7f51a32868ea1208e6d6162cd1.json" for URL "https://nominatim.openstreetmap.org/search?format=json&limit=1&dedupe=0&polygon_geojson=1&q=Piedmont%2C+California%2C+USA"
Created GeoDataFrame with 1 row for query "Piedmont, California, USA"
Constructed place geometry polygon(s) to query API
Projected the GeoDataFrame "geometry to project" to UTM-10 in 0.01 seconds
Projected the GeoDataFrame "geometry to project" to default_crs in 0.01 seconds
Projected the GeoDataFrame "geometry to project" to UTM-10 in 0.01 seconds
Projected the GeoDataFrame "geometry to project" to default_crs in 0.01 seconds
Requesting network data within polygon from API in 1 request(s)
Retrieved response from cache file "cache/2e68726eb0121fe5f6f00f39771d3830.json" for URL "http://overpass-api.de/api/interpreter?data=%5Bout%3Ajson%5D%5Btimeout%3A180%5D%3B%28way%5B%22highway%22%5D%5B%22area%22%21~%22yes%22%5D%5B%22highway%22%21~%22cycleway%7Cfootway%7Cpath%7Cpedestrian%7Csteps%7Ctrack%7Ccorridor%7Celevator%7Cescalator%7Cproposed%7Cconstruction%7Cbridleway%7Cabandoned%7Cplatform%7Craceway%7Cservice%22%5D%5B%22motor_vehicle%22%21~%22no%22%5D%5B%22motorcar%22%21~%22no%22%5D%5B%22access%22%21~%22private%22%5D%5B%22service%22%21~%22parking%7Cparking_aisle%7Cdriveway%7Cprivate%7Cemergency_access%22%5D%28poly%3A%2237.823113+-122.255010+37.823199+-122.255027+37.823651+-122.255055+37.824104+-122.255026+37.824552+-122.254940+37.824991+-122.254797+37.825417+-122.254600+37.825824+-122.254350+37.826210+-122.254049+37.826569+-122.253701+37.826799+-122.253455+37.826915+-122.253330+37.827176+-122.253244+37.827377+-122.253178+37.827800+-122.253010+37.828208+-122.252791+37.828597+-122.252523+37.828964+-122.252207+37.829303+-122.251848+37.829613+-122.251448+37.829891+-122.251012+37.830143+-122.250573+37.830803+-122.249429+37.830839+-122.249407+37.831197+-122.249128+37.831286+-122.249052+37.832123+-122.248407+37.832393+-122.248200+37.832408+-122.248188+37.832448+-122.248157+37.832806+-122.247849+37.833139+-122.247498+37.833444+-122.247109+37.833717+-122.246685+37.833957+-122.246229+37.834162+-122.245747+37.834328+-122.245241+37.834455+-122.244718+37.834542+-122.244183+37.834587+-122.243639+37.834589+-122.243372+37.834678+-122.243039+37.834731+-122.242827+37.834764+-122.242685+37.834890+-122.241972+37.834909+-122.241820+37.834955+-122.241306+37.834963+-122.241152+37.834972+-122.240864+37.834984+-122.239854+37.834988+-122.239743+37.835013+-122.239561+37.835040+-122.239289+37.835061+-122.239227+37.835189+-122.238722+37.835278+-122.238205+37.835314+-122.237839+37.835348+-122.237717+37.835448+-122.237227+37.835481+-122.237028+37.835520+-122.236796+37.835555+-122.236603+37.835691+-122.235869+37.835737+-122.235620+37.835738+-122.235611+37.835971+-122.234342+37.836041+-122.233967+37.836454+-122.232630+37.836562+-122.232282+37.836840+-122.231384+37.837223+-122.230148+37.837363+-122.229621+37.837462+-122.229079+37.837518+-122.228527+37.837531+-122.227970+37.837501+-122.227415+37.837429+-122.226866+37.837313+-122.226329+37.837157+-122.225809+37.836961+-122.225310+37.836727+-122.224838+37.836458+-122.224397+37.836321+-122.224194+37.835909+-122.223581+37.835902+-122.223571+37.835860+-122.223509+37.835655+-122.223085+37.835595+-122.222985+37.835586+-122.222968+37.835578+-122.222952+37.835434+-122.222684+37.835429+-122.222676+37.835381+-122.222587+37.835374+-122.222573+37.835322+-122.222478+37.835298+-122.222434+37.835063+-122.221995+37.835055+-122.221980+37.834974+-122.221830+37.834716+-122.221399+37.834427+-122.221000+37.834110+-122.220638+37.833766+-122.220315+37.833400+-122.220035+37.833015+-122.219801+37.832810+-122.219691+37.832272+-122.219402+37.831977+-122.219183+37.831614+-122.218915+37.830654+-122.218095+37.830647+-122.218088+37.830591+-122.218041+37.830515+-122.217976+37.830496+-122.217959+37.830412+-122.217887+37.830144+-122.217659+37.829807+-122.217396+37.829733+-122.217344+37.829631+-122.217281+37.829503+-122.217182+37.829430+-122.217131+37.828987+-122.216860+37.828701+-122.216709+37.828662+-122.216688+37.828379+-122.216543+37.827516+-122.215453+37.827432+-122.215347+37.827198+-122.215051+37.827190+-122.215041+37.827029+-122.214674+37.826870+-122.214305+37.826798+-122.214155+37.826740+-122.214040+37.826711+-122.213957+37.826644+-122.213786+37.826416+-122.213272+37.826146+-122.212791+37.825839+-122.212347+37.825749+-122.212230+37.825389+-122.211810+37.825007+-122.211454+37.825005+-122.211449+37.824892+-122.211240+37.824758+-122.211006+37.824502+-122.210581+37.823733+-122.209301+37.823648+-122.209175+37.823573+-122.209040+37.823492+-122.208894+37.823215+-122.208389+37.823146+-122.208264+37.823031+-122.208047+37.822619+-122.207266+37.822482+-122.207006+37.822225+-122.206566+37.821937+-122.206159+37.821618+-122.205789+37.821273+-122.205460+37.820904+-122.205174+37.820515+-122.204933+37.820110+-122.204741+37.819692+-122.204599+37.819265+-122.204508+37.818833+-122.204469+37.818400+-122.204482+37.817970+-122.204548+37.817547+-122.204666+37.817135+-122.204834+37.816738+-122.205051+37.816359+-122.205316+37.816002+-122.205625+37.815670+-122.205975+37.815367+-122.206365+37.814959+-122.206941+37.814930+-122.206982+37.814675+-122.207349+37.814481+-122.207381+37.814339+-122.207410+37.814177+-122.207447+37.814030+-122.207484+37.813634+-122.207607+37.813500+-122.207657+37.812918+-122.207931+37.812911+-122.207935+37.812827+-122.207984+37.812691+-122.208066+37.812132+-122.208467+37.811978+-122.208597+37.811966+-122.208603+37.811575+-122.208821+37.811483+-122.208879+37.811239+-122.209045+37.811213+-122.209064+37.811191+-122.209080+37.811159+-122.209104+37.811136+-122.209120+37.810777+-122.209410+37.810730+-122.209452+37.810345+-122.209837+37.810210+-122.209988+37.810035+-122.210195+37.809941+-122.210312+37.809922+-122.210337+37.809674+-122.210537+37.809327+-122.210879+37.809009+-122.211262+37.808722+-122.211682+37.808469+-122.212135+37.808252+-122.212618+37.808073+-122.213125+37.807935+-122.213651+37.807838+-122.214192+37.807783+-122.214742+37.807771+-122.215296+37.807802+-122.215849+37.807875+-122.216396+37.807991+-122.216931+37.808147+-122.217449+37.808240+-122.217718+37.808412+-122.218216+37.808499+-122.218428+37.808535+-122.218647+37.808536+-122.218646+37.808586+-122.218943+37.808619+-122.219109+37.808647+-122.219244+37.808740+-122.219662+37.808776+-122.219850+37.809087+-122.221225+37.809106+-122.221298+37.809181+-122.221649+37.809265+-122.221991+37.809318+-122.222187+37.809322+-122.222205+37.809389+-122.222450+37.809446+-122.222678+37.809566+-122.223440+37.809569+-122.223463+37.809617+-122.223762+37.809705+-122.224211+37.809768+-122.224486+37.809957+-122.225311+37.809961+-122.225329+37.810025+-122.225605+37.810110+-122.225936+37.810180+-122.226181+37.810184+-122.226195+37.810396+-122.226930+37.810412+-122.226982+37.810520+-122.227465+37.810522+-122.227472+37.810980+-122.229494+37.811104+-122.230040+37.811143+-122.230250+37.811185+-122.230460+37.811258+-122.230791+37.811688+-122.232912+37.811690+-122.232921+37.811838+-122.233645+37.812030+-122.234375+37.812098+-122.234585+37.812105+-122.234606+37.812310+-122.235233+37.812335+-122.235308+37.812365+-122.235416+37.812513+-122.235963+37.812569+-122.236157+37.812624+-122.236335+37.812672+-122.236504+37.812695+-122.236590+37.812699+-122.236606+37.812766+-122.236853+37.812871+-122.237407+37.812918+-122.237961+37.812919+-122.237980+37.812939+-122.238210+37.813006+-122.238743+37.813113+-122.239267+37.813198+-122.239611+37.813451+-122.240643+37.813454+-122.240655+37.813499+-122.240838+37.813517+-122.240934+37.813670+-122.241713+37.813721+-122.241973+37.813767+-122.242187+37.813858+-122.242584+37.814131+-122.243775+37.814134+-122.243787+37.814226+-122.244185+37.814278+-122.244395+37.814318+-122.244546+37.814438+-122.244999+37.814453+-122.245050+37.814580+-122.245495+37.814634+-122.245662+37.814641+-122.245685+37.814797+-122.246160+37.814803+-122.246192+37.814849+-122.246421+37.814970+-122.246925+37.815128+-122.247413+37.815321+-122.247881+37.815547+-122.248324+37.815805+-122.248739+37.816092+-122.249121+37.816171+-122.249217+37.816316+-122.249386+37.816481+-122.249570+37.816608+-122.249705+37.816727+-122.249828+37.816858+-122.249983+37.816976+-122.250117+37.817113+-122.250268+37.817343+-122.250506+37.817479+-122.250637+37.818026+-122.251088+37.818110+-122.251147+37.818393+-122.251471+37.818403+-122.251482+37.818668+-122.251851+37.819597+-122.253146+37.819902+-122.253532+37.820234+-122.253880+37.820592+-122.254186+37.820972+-122.254447+37.821369+-122.254661+37.821781+-122.254826+37.822203+-122.254941+37.822633+-122.255004+37.823065+-122.255015+37.823113+-122.255010%22%29%3B%3E%3B%29%3Bout%3B"
Got all network data within polygon from API in 1 request(s) and 0.04 seconds
Creating networkx graph from downloaded OSM data...
Created graph with 5,578 nodes and 10,929 edges in 0.09 seconds
Added edge lengths to graph in 0.08 seconds
Identifying all nodes that lie outside the polygon...
Created r-tree spatial index for 5,578 points in 0.20 seconds
Traceback (most recent call last):
File "/Users/liquidgenius/Projects/osmnx_maps/src/main.py", line 5, in <module>
G = ox.graph_from_place('Piedmont, California, USA', network_type='drive')
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/osmnx/core.py", line 1445, in graph_from_place
G = graph_from_polygon(polygon, network_type=network_type, simplify=simplify,
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/osmnx/core.py", line 1326, in graph_from_polygon
G_buffered = truncate_graph_polygon(G_buffered, polygon_buffered, retain_all=True, truncate_by_edge=truncate_by_edge)
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/osmnx/core.py", line 733, in truncate_graph_polygon
points_within_geometry = intersect_index_quadrats(gdf_nodes, polygon, quadrat_width=quadrat_width, min_num=min_num, buffer_amount=buffer_amount)
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/osmnx/core.py", line 680, in intersect_index_quadrats
points_within_geometry = points_within_geometry.drop_duplicates(subset='node')
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/pandas/core/frame.py", line 4808, in drop_duplicates
duplicated = self.duplicated(subset, keep=keep)
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/pandas/core/frame.py", line 4885, in duplicated
labels, shape = map(list, zip(*map(f, vals)))
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/pandas/core/frame.py", line 4859, in f
labels, shape = algorithms.factorize(
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/pandas/core/algorithms.py", line 629, in factorize
codes, uniques = _factorize_array(
File "/Users/liquidgenius/Library/Caches/pypoetry/virtualenvs/osmnx-maps-4FpwlMfr-py3.8/lib/python3.8/site-packages/pandas/core/algorithms.py", line 478, in _factorize_array
uniques, codes = table.factorize(values, na_sentinel=na_sentinel, na_value=na_value)
File "pandas/_libs/hashtable_class_helper.pxi", line 1806, in pandas._libs.hashtable.PyObjectHashTable.factorize
File "pandas/_libs/hashtable_class_helper.pxi", line 1726, in pandas._libs.hashtable.PyObjectHashTable._unique
TypeError: unhashable type: 'dict'
Uninstalled pyenv and pipenv, installed Python 3.8.1 in pyenv, set the local project to 3.8.1 and ran pipenv shell, then pipenv install osmnx.
Running the same minimal code as listed previously also has the same failure message.
So to boil this down both Poetry or Pipenv installations with Python 3.8+ are having the same error.
What versions of Python is osmnx verified to work with?
Thanks. An update in a dependency has changed how node IDs get turned into a DataFrame. This specific issue is fixed now and I'm looking to see if it affects anything elsewhere.
Problem description
created a poetry project used pyenv to set the base interpreter as Python 3.8.0 poetry shell poetry add networkx osmnx IPython ipyleaflet created maps.py with the following content and executed:
received the following log and error:
What operating system, architecture, Python version, and OSMnx version are you using?
macOS 10.14.6 Python 3.8.0 OSMnx 0.11.3
Complete list of your environment's packages and their versions