ioos / notebooks_demos

Notebook demonstrations and examples
https://ioos.github.io/notebooks_demos/
MIT License
19 stars 19 forks source link

Pendulum error on Irma notebook #339

Closed rsignell-usgs closed 5 years ago

rsignell-usgs commented 5 years ago

I'm getting an error when running the Hurricane Irma notebook on binder.

Cell [8] is producing:

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-8-5ab3fb494fb2> in <module>
      7 end = points[-1]['FLDATELBL']
      8 
----> 9 start = pendulum.from_format(start, fmt='YYYY-MM-DD h:mm A ddd').naive()
     10 end = pendulum.from_format(end, fmt='YYYY-MM-DD h:mm A ddd').naive()

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/__init__.py in from_format(string, fmt, tz, locale)
    254     Creates a DateTime instance from a specific format.
    255     """
--> 256     parts = _formatter.parse(string, fmt, now(), locale=locale)
    257     if parts["tz"] is None:
    258         parts["tz"] = tz

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/__init__.py in now(tz)
    213 
    214     if tz is None or tz == "local":
--> 215         dt = _datetime.datetime.now(local_timezone())
    216     elif tz is UTC or tz == "UTC":
    217         dt = _datetime.datetime.now(UTC)

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/tz/__init__.py in local_timezone()
     57     Return the local timezone.
     58     """
---> 59     return get_local_timezone()

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/tz/local_timezone.py in get_local_timezone()
     29 
     30     if _local_timezone is None:
---> 31         tz = _get_system_timezone()
     32 
     33         _local_timezone = tz

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/tz/local_timezone.py in _get_system_timezone()
     57         return _get_darwin_timezone()
     58 
---> 59     return _get_unix_timezone()
     60 
     61 

/srv/conda/envs/notebook/lib/python3.7/site-packages/pendulum/tz/local_timezone.py in _get_unix_timezone(_root)
    236         return TimezoneFile(tzpath)
    237 
--> 238     raise RuntimeError("Unable to find any timezone configuration")
    239 
    240 

RuntimeError: Unable to find any timezone configuration

Here is my conda list:

jovyan@jupyter-ioos-2dnotebooks-5fdemos-2dgdznqzo8:~$ conda list # packages in environment at /srv/conda/envs/notebook: # # Name Version Build Channel affine 2.2.2 py_0 conda-forge alabaster 0.7.12 py_0 conda-forge alembic 1.0.9 pypi_0 pypi altair 3.0.1 py37_0 conda-forge antlr-python-runtime 4.7.2 py37_1000 conda-forge asn1crypto 0.24.0 py37_1003 conda-forge astroid 2.2.5 py37_0 conda-forge async-generator 1.10 pypi_0 pypi atomicwrites 1.3.0 py_0 conda-forge attrs 19.1.0 py_0 conda-forge babel 2.7.0 py_0 conda-forge backcall 0.1.0 py_0 conda-forge bagit 1.7.0 py_0 conda-forge beautifulsoup4 4.7.1 py37_1001 conda-forge bleach 3.1.0 py_0 conda-forge bokeh 1.1.0 py37_0 conda-forge boost-cpp 1.68.0 h11c811c_1000 conda-forge branca 0.3.1 py_0 conda-forge bzip2 1.0.6 h14c3975_1002 conda-forge ca-certificates 2019.3.9 hecc5488_0 conda-forge cairo 1.16.0 ha4e643d_1000 conda-forge cartopy 0.17.0 py37h0aa2c8f_1004 conda-forge cc-plugin-glider 2.0.0 py_0 conda-forge cc-plugin-ncei 2.0.2 py_3 conda-forge certifi 2019.3.9 py37_0 conda-forge cf-units 2.1.1 py37h3010b51_1000 conda-forge cffi 1.12.3 py37h8022711_0 conda-forge cftime 1.0.3.4 py37hd352d35_1001 conda-forge chardet 3.0.4 pypi_0 pypi click 7.0 py_0 conda-forge click-plugins 1.1.1 py_0 conda-forge cligj 0.5.0 py_0 conda-forge cloudpickle 1.0.0 py_0 conda-forge colorama 0.4.1 py_0 conda-forge compliance-checker 4.2.2 py37_0 conda-forge configobj 5.0.6 py_0 conda-forge cryptography 2.6.1 py37h72c5cf5_0 conda-forge ctd 1.0.0 py_0 conda-forge curl 7.64.1 hf8cf82a_0 conda-forge cycler 0.10.0 py_1 conda-forge cython 0.29.7 py37he1b5a44_0 conda-forge cytoolz 0.9.0.1 py37h14c3975_1001 conda-forge dask 1.2.2 py_1 conda-forge dask-core 1.2.2 py_0 conda-forge dbus 1.13.6 he372182_0 conda-forge decorator 4.4.0 py_0 conda-forge defusedxml 0.5.0 py_1 conda-forge descartes 1.1.0 py_3 conda-forge distributed 1.28.1 py37_0 conda-forge docopt 0.6.2 py_1 conda-forge docutils 0.14 py37_1001 conda-forge easyargs 0.9.4 py_0 conda-forge entrypoints 0.3 py37_1000 conda-forge erddapy 0.4.0 py_0 conda-forge esmf 7.1.0 hdfb41a0_1004 conda-forge expat 2.2.5 hf484d3e_1002 conda-forge fastcache 1.1.0 py37h516909a_0 conda-forge fiona 1.8.6 py37hf242f0b_3 conda-forge flake8 3.7.7 py37_0 conda-forge folium 0.9.1 py_0 conda-forge fontconfig 2.13.1 he4413a7_1000 conda-forge freetype 2.10.0 he983fc9_0 conda-forge freexl 1.0.5 h14c3975_1002 conda-forge gdal 2.4.1 py37hf242f0b_0 conda-forge geojson 2.4.1 py_0 conda-forge geojsonio 0.0.3 py_0 conda-forge geolinks 0.2.0 py_1 conda-forge geopandas 0.5.0 py_2 conda-forge geos 3.7.1 hf484d3e_1000 conda-forge geotiff 1.4.3 h1105359_1000 conda-forge gettext 0.19.8.1 hc5be6a0_1002 conda-forge giflib 5.1.7 h516909a_1 conda-forge gitdb2 2.0.5 py_0 conda-forge github3.py 1.3.0 py_0 conda-forge gitpython 2.1.11 py_0 conda-forge glib 2.58.3 hf63aee3_1001 conda-forge gmp 6.1.2 hf484d3e_1000 conda-forge gmpy2 2.0.8 py37hb20f59a_1002 conda-forge gridgeo 1.5.2 py_0 conda-forge gsl 2.4 h294904e_1006 conda-forge gst-plugins-base 1.14.4 hdf3bae2_1001 conda-forge gstreamer 1.14.4 h66beb1c_1001 conda-forge gsw 3.3.1 py37h516909a_0 conda-forge hdf4 4.2.13 h9a582f1_1002 conda-forge hdf5 1.10.4 nompi_h3c11f04_1106 conda-forge heapdict 1.0.0 py37_1000 conda-forge holoviews 1.12.3 py_0 conda-forge hvplot 0.4.0 py_1 conda-forge icu 58.2 hf484d3e_1000 conda-forge idna 2.8 pypi_0 pypi imagesize 1.1.0 py_0 conda-forge importlib_metadata 0.15 py37_0 conda-forge ioos-tools 1.3.3 py_0 conda-forge ipykernel 5.1.0 py37h24bf2e0_1002 conda-forge ipython 7.5.0 py37h24bf2e0_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.4.2 py_0 conda-forge iris 2.2.0 py37_1003 conda-forge isodate 0.6.0 py_1 conda-forge isort 4.3.20 py37_0 conda-forge jedi 0.13.3 py37_0 conda-forge jeepney 0.4 py_0 conda-forge jinja2 2.10.1 py_0 conda-forge joblib 0.13.2 py_0 conda-forge jpeg 9c h14c3975_1001 conda-forge json-c 0.13.1 h14c3975_1001 conda-forge jsonschema 3.0.1 py37_0 conda-forge jupyter 1.0.0 py_2 conda-forge jupyter_client 5.2.4 py_3 conda-forge jupyter_console 6.0.0 py_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyterhub 0.9.4 pypi_0 pypi jupyterlab 0.35.4 py37_0 conda-forge jupyterlab_server 0.2.0 py_0 conda-forge jwcrypto 0.6.0 py_0 conda-forge kealib 1.4.10 h1978553_1003 conda-forge keyring 19.0.2 py37_0 conda-forge kiwisolver 1.1.0 py37hc9558a2_0 conda-forge krb5 1.16.3 h05b26f9_1001 conda-forge lazy-object-proxy 1.4.1 py37h516909a_0 conda-forge libblas 3.8.0 10_openblas conda-forge libcblas 3.8.0 10_openblas conda-forge libcurl 7.64.1 hda55be3_0 conda-forge libdap4 3.19.1 hd48c02d_1000 conda-forge libedit 3.1.20170329 hf8c457e_1001 conda-forge libffi 3.2.1 he1b5a44_1006 conda-forge libgcc-ng 8.2.0 hdf63c60_1 defaults libgdal 2.4.1 hdb8f723_0 conda-forge libgfortran-ng 7.3.0 hdf63c60_0 defaults libiconv 1.15 h516909a_1005 conda-forge libkml 1.3.0 h328b03d_1009 conda-forge liblapack 3.8.0 10_openblas conda-forge libnetcdf 4.6.2 hbdf4f91_1001 conda-forge libpng 1.6.37 hed695b0_0 conda-forge libpq 11.3 h4e4e079_0 conda-forge libprotobuf 3.7.1 h8b12597_0 conda-forge libsodium 1.0.16 h14c3975_1001 conda-forge libspatialindex 1.9.0 he1b5a44_1 conda-forge libspatialite 4.3.0a hb5ec416_1026 conda-forge libssh2 1.8.2 h22169c7_2 conda-forge libstdcxx-ng 8.2.0 hdf63c60_1 defaults libtiff 4.0.10 h648cc4a_1001 conda-forge libuuid 2.32.1 h14c3975_1000 conda-forge libxcb 1.13 h14c3975_1002 conda-forge libxml2 2.9.9 h13577e0_0 conda-forge libxslt 1.1.32 h4785a14_1002 conda-forge locket 0.2.0 py_2 conda-forge lxml 4.3.3 py37h7ec2d77_0 conda-forge mako 1.0.9 pypi_0 pypi mapclassify 2.0.1 py_0 conda-forge markupsafe 1.1.1 py37h14c3975_0 conda-forge matplotlib 3.1.0 py37_1 conda-forge matplotlib-base 3.1.0 py37hfd891ef_1 conda-forge mccabe 0.6.1 py_1 conda-forge metakernel 0.23.0 py_0 conda-forge mistune 0.8.4 py37h14c3975_1000 conda-forge more-itertools 4.3.0 py37_1000 conda-forge mpc 1.1.0 hb20f59a_1006 conda-forge mpfr 4.0.2 ha14ba45_0 conda-forge mpi 1.0 mpich conda-forge mpich 3.2.1 hc99cbb1_1009 conda-forge mpmath 1.1.0 py_0 conda-forge msgpack-python 0.6.1 py37h6bb024c_0 conda-forge munch 2.3.2 py_0 conda-forge nbconvert 5.4.1 py_2 conda-forge nbdime 1.0.6 py37_0 conda-forge nbformat 4.4.0 py_1 conda-forge nc-time-axis 1.2.0 py_0 conda-forge nco 4.8.0 hfb3d286_0 conda-forge ncurses 6.1 hf484d3e_1002 conda-forge ndg-httpsclient 0.5.1 py_1 conda-forge netcdf-fortran 4.4.5 hea25ff8_1000 conda-forge netcdf4 1.5.1.2 py37had58050_0 conda-forge notebook 5.7.8 py37_0 conda-forge nteract-on-jupyter 2.0.12 pypi_0 pypi numpy 1.16.3 py37he5ce36f_0 conda-forge numpydoc 0.9.1 py_0 conda-forge oceans 0.7.0 py_0 conda-forge oct2py 5.0.2 py_0 conda-forge octave_kernel 0.30.3 py_0 conda-forge olefile 0.46 py_0 conda-forge openblas 0.3.6 h6e990d7_2 conda-forge openjpeg 2.3.1 h58a6597_0 conda-forge openssl 1.1.1b h14c3975_1 conda-forge owslib 0.17.1 py_0 conda-forge packaging 19.0 py_0 conda-forge paegan 1.1.4 py_1 conda-forge palettable 3.1.1 py_0 conda-forge pamela 1.0.0 pypi_0 pypi pandas 0.24.2 py37hb3f55d8_0 conda-forge pandas-flavor 0.1.2 py_0 conda-forge pandoc 2.7.2 0 conda-forge pandocfilters 1.4.2 py_1 conda-forge param 1.9.0 py_0 conda-forge parso 0.4.0 py_0 conda-forge partd 0.3.9 py_0 conda-forge patsy 0.5.1 py_0 conda-forge pcre 8.41 hf484d3e_1003 conda-forge pendulum 2.0.4 py37_1000 conda-forge pexpect 4.7.0 py37_0 conda-forge phantomjs 2.1.1 1 conda-forge pickleshare 0.7.5 py37_1000 conda-forge pillow 6.0.0 py37he7afcd5_0 conda-forge pip 19.1 py37_0 conda-forge pixman 0.34.0 h14c3975_1003 conda-forge pluggy 0.12.0 py_0 conda-forge pocean-core 1.7.0 py_0 conda-forge poppler 0.67.0 h2ad7f00_6 conda-forge poppler-data 0.4.9 1 conda-forge postgresql 11.3 hbeee2d4_0 conda-forge proj4 5.2.0 he1b5a44_1003 conda-forge prometheus_client 0.6.0 py_0 conda-forge prompt_toolkit 2.0.9 py_0 conda-forge protobuf 3.7.1 py37he1b5a44_0 conda-forge psutil 5.6.2 py37h516909a_0 conda-forge pthread-stubs 0.4 h14c3975_1001 conda-forge ptyprocess 0.6.0 py_1001 conda-forge py 1.8.0 py_0 conda-forge pyasn1 0.4.5 py_0 conda-forge pycodestyle 2.5.0 py_0 conda-forge pycparser 2.19 py37_1 conda-forge pyepsg 0.4.0 py_0 conda-forge pyflakes 2.1.1 py_0 conda-forge pygc 1.2.1 py_1 conda-forge pygeoif 0.7 py_1 conda-forge pygments 2.3.1 py_0 conda-forge pykdtree 1.3.1 py37h3010b51_1002 conda-forge pyke 1.1.1 py37_1000 conda-forge pylint 2.3.1 py37_0 conda-forge pyoos 0.8.4 py_1 conda-forge pyopenssl 19.0.0 py37_0 conda-forge pyparsing 2.4.0 py_0 conda-forge pyproj 1.9.6 py37h516909a_1002 conda-forge pyqt 5.9.2 py37hcca6a23_0 conda-forge pyresample 1.12.3 py37hf2d7682_0 conda-forge pyrsistent 0.15.1 py37h516909a_0 conda-forge pysgrid 0.3.5 py_0 conda-forge pyshp 2.1.0 py_0 conda-forge pysocks 1.7.0 py37_0 conda-forge pytest 4.5.0 py37_0 conda-forge python 3.7.3 h5b0a415_0 conda-forge python-dateutil 2.8.0 py_0 conda-forge python-editor 1.0.4 pypi_0 pypi python-oauth2 1.1.0 pypi_0 pypi pytz 2019.1 py_0 conda-forge pytzdata 2019.1 py_0 conda-forge pyugrid 0.3.1 py_2 conda-forge pyviz_comms 0.7.2 py_0 conda-forge pyyaml 5.1 py37h14c3975_0 conda-forge pyzmq 18.0.1 py37hc4ba49a_1 conda-forge qt 5.9.7 h52cfd70_1 conda-forge qtawesome 0.5.7 pyh8a2030e_0 conda-forge qtconsole 4.5.1 py_0 conda-forge qtpy 1.7.1 pyhde82777_0 conda-forge rasterio 1.0.23 py37h5b3f9e8_0 conda-forge readline 7.0 hf8c457e_1001 conda-forge regex 2019.05.25 py37h516909a_0 conda-forge requests 2.21.0 pypi_0 pypi retrying 1.3.3 py_2 conda-forge rise 5.5.0 py37_0 conda-forge rope 0.14.0 py_0 conda-forge rtree 0.8.3 py37h666c49c_1002 conda-forge scikit-learn 0.21.2 py37h627018c_0 conda-forge scipy 1.3.0 py37hab63836_0 conda-forge seaborn 0.9.0 py_1 conda-forge seawater 3.3.4 py_1 conda-forge secretstorage 3.1.1 py37_0 conda-forge selenium 3.141.0 py37h14c3975_1000 conda-forge send2trash 1.5.0 py_0 conda-forge sensorml2iso 1.0.4 py_0 conda-forge setuptools 41.0.1 py37_0 conda-forge shapely 1.6.4 py37h2afed24_1004 conda-forge simplejson 3.16.0 py37h14c3975_1002 conda-forge sip 4.19.8 py37hf484d3e_1000 conda-forge siphon 0.8.0 py37_1001 conda-forge six 1.12.0 py37_1000 conda-forge smmap2 2.0.5 py_0 conda-forge snowballstemmer 1.2.1 py_1 conda-forge snuggs 1.4.6 py_0 conda-forge sortedcontainers 2.1.0 py_0 conda-forge soupsieve 1.9.1 py37_0 conda-forge sphinx 2.0.1 py_0 conda-forge sphinxcontrib-applehelp 1.0.1 py_0 conda-forge sphinxcontrib-devhelp 1.0.1 py_0 conda-forge sphinxcontrib-htmlhelp 1.0.2 py_0 conda-forge sphinxcontrib-jsmath 1.0.1 py_0 conda-forge sphinxcontrib-qthelp 1.0.2 py_0 conda-forge sphinxcontrib-serializinghtml 1.1.1 py_0 conda-forge spyder 3.3.4 py37_1 conda-forge spyder-kernels 0.4.4 py37_0 conda-forge sqlalchemy 1.3.3 pypi_0 pypi sqlite 3.26.0 h67949de_1001 conda-forge statsmodels 0.9.0 py37h3010b51_1000 conda-forge sympy 1.4 py37_0 conda-forge tblib 1.4.0 py_0 conda-forge tempest-remap 2.0.3 h5f743cb_0 conda-forge terminado 0.8.2 py37_0 conda-forge testpath 0.4.2 py_1001 conda-forge thredds_crawler 1.5.4 py_1 conda-forge timeout-decorator 0.4.1 py_0 conda-forge tk 8.6.9 h84994c4_1001 conda-forge toolz 0.9.0 py_1 conda-forge tornado 6.0.2 py37h516909a_0 conda-forge tqdm 4.32.1 py_0 conda-forge traitlets 4.3.2 py37_1000 conda-forge tzcode 2018g h14c3975_1001 conda-forge udunits2 2.2.27.6 h4e0c4b3_1001 conda-forge uritemplate.py 3.0.2 py_1 conda-forge urllib3 1.24.2 pypi_0 pypi utide 0.2.3 py_0 conda-forge vincent 0.4.4 py_1 conda-forge wcwidth 0.1.7 py_1 conda-forge webencodings 0.5.1 py_1 conda-forge wheel 0.33.1 py37_0 conda-forge widgetsnbextension 3.4.2 py37_1000 conda-forge windrose 1.6.5 py_0 conda-forge wrapt 1.11.1 py37h516909a_0 conda-forge wurlitzer 1.0.2 py37_1000 conda-forge xarray 0.12.1 py_0 conda-forge xerces-c 3.2.2 hac72e42_1001 conda-forge xlrd 1.2.0 py_0 conda-forge xmltodict 0.12.0 py_0 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.9 h516909a_1004 conda-forge xorg-libsm 1.2.3 h84519dc_1000 conda-forge xorg-libx11 1.6.7 h14c3975_1000 conda-forge xorg-libxau 1.0.9 h14c3975_0 conda-forge xorg-libxdmcp 1.1.3 h516909a_0 conda-forge xorg-libxext 1.3.4 h516909a_0 conda-forge xorg-libxrender 0.9.10 h516909a_1002 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h14c3975_1007 conda-forge xz 5.2.4 h14c3975_1001 conda-forge yaml 0.1.7 h14c3975_1001 conda-forge zeromq 4.3.1 hf484d3e_1000 conda-forge zict 0.1.4 py_0 conda-forge zipp 0.5.0 py_0 conda-forge zlib 1.2.11 h14c3975_1004 conda-forge
ocefpaf commented 5 years ago

Running it locally I do not get that error but I can reproduce it on binder. My guess is that the docker imaged used does not have the timezone files that pendulum expects. See https://github.com/sdispater/pendulum/blob/master/pendulum/tz/local_timezone.py#L62-#L126

I'll send a PR to use the standard library datetime instead of pendulum.