geocompx / geocompy

Geocomputation with Python: an open source book and online resource for getting started in this space
https://py.geocompx.org/
Other
260 stars 47 forks source link

Weird issue with freshly installed environment set-up with micromamba #180

Closed Robinlovelace closed 1 year ago

Robinlovelace commented 1 year ago

Don't think this is reproducible but reporting here in case of interest to others:

I ran the following command:

micromamba run -n geocompy quarto preview

And got this:

  Cell 13/50...Done
  Cell 14/50...Done
  Cell 15/50...

An error occurred while executing the following cell:
------------------
gpd.read_file(u, layer='Placemarks')
------------------

---------------------------------------------------------------------------
DriverError                               Traceback (most recent call last)
Cell In[15], line 1
----> 1 gpd.read_file(u, layer='Placemarks')

File C:\Your\Root\Prefix\envs\geocompy\Lib\site-packages\geopandas\io\file.py:281, in _read_file(filename, bbox, mask, rows, engine, **kwargs)
    278     else:
    279         path_or_bytes = filename
--> 281     return _read_file_fiona(
    282         path_or_bytes, from_bytes, bbox=bbox, mask=mask, rows=rows, **kwargs
    283     )
    285 else:
    286     raise ValueError(f"unknown engine '{engine}'")

File C:\Your\Root\Prefix\envs\geocompy\Lib\site-packages\geopandas\io\file.py:322, in _read_file_fiona(path_or_bytes, from_bytes, bbox, mask, rows, where, **kwargs) 
    319     reader = fiona.open
    321 with fiona_env():
--> 322     with reader(path_or_bytes, **kwargs) as features:
    323         crs = features.crs_wkt
    324         # attempt to get EPSG code

File C:\Your\Root\Prefix\envs\geocompy\Lib\site-packages\fiona\collection.py:783, in BytesCollection.__init__(self, bytesbuf, **kwds)
    780 self.virtual_file = buffer_to_virtual_file(self.bytesbuf, ext=ext)
    782 # Instantiate the parent class.
--> 783 super().__init__(self.virtual_file, vsi=
Robinlovelace commented 1 year ago

Confirmed: just hit the same issue on Linux (above was on Windows):

 Cell 14/50...Done
  Cell 15/50...

An error occurred while executing the following cell:
------------------
gpd.read_file(u, layer='Placemarks')
------------------

---------------------------------------------------------------------------
DriverError                               Traceback (most recent call last)
Cell In[15], line 1
----> 1 gpd.read_file(u, layer='Placemarks')

File ~/micromamba/envs/geocompy/lib/python3.11/site-packages/geopandas/io/file.py:281, in _read_file(filename, bbox, mask, rows, engine, **kwargs)
    278     else:
    279         path_or_bytes = filename
--> 281     return _read_file_fiona(
    282         path_or_bytes, from_bytes, bbox=bbox, mask=mask, rows=rows, **kwargs
    283     )
    285 else:
    286     raise ValueError(f"unknown engine '{engine}'")

File ~/micromamba/envs/geocompy/lib/python3.11/site-packages/geopandas/io/file.py:322, in _read_file_fiona(path_or_bytes, from_bytes, bbox, mask, rows, where, **kwargs)
    319     reader = fiona.open
    321 with fiona_env():
--> 322     with reader(path_or_bytes, **kwargs) as features:
    323         crs = features.crs_wkt
    324         # attempt to get EPSG code

File ~/micromamba/envs/geocompy/lib/python3.11/site-packages/fiona/collection.py:783, in BytesCollection.__init__(self, bytesbuf, **kwds)
    780 self.virtual_file = buffer_to_virtual_file(self.bytesbuf, ext=ext)
    782 # Instantiate the parent class.
--> 783 super().__init__(self.virtual_file, vsi=filetype, **kwds)
    784 self._closed = False

File ~/micromamba/envs/geocompy/lib/python3.11/site-packages/fiona/collection.py:252, in Collection.__init__(self, path, mode, driver, schema, crs, encoding, layer, vsi, archive, enabled_drivers, crs_wkt, ignore_fields, ignore_geometry, include_fields, wkt_version, allow_unsupported_drivers, **kwargs)
    249     raise
    251 if self.session is not None:
--> 252     self.guard_driver_mode()
    254 if self.mode in ("a", "w"):
    255     self._valid_geom_types = _get_valid_geom_types(self.schema, self.driver)

File ~/micromamba/envs/geocompy/lib/python3.11/site-packages/fiona/collection.py:273, in Collection.guard_driver_mode(self)
    271 driver = self.session.get_driver()
    272 if driver not in supported_drivers:
--> 273     raise DriverError("unsupported driver: %r" % driver)
    274 if self.mode not in supported_drivers[driver]:
    275     raise DriverError("unsupported mode: %r" % self.mode)

DriverError: unsupported driver: 'LIBKML'
Robinlovelace commented 1 year ago

Previous commit seems to have fixed it. Closing for now.