Ubuntu python-dateutil install/upgrade issue. dateutil.zoneinfo.gettz returning NoneType
-
01-07-2021 - |
Question
I am having trouble with python dateutil.zoneinfo module. Note:
- Broken Ubuntu machine is ( Ubuntu 11.04 )
- Working Ubuntu machine is ( Ubuntu 11.10 )
Broken Ubuntu machine:
In [1]: from dateutil import zoneinfo`
In [2]: from_zone = zoneinfo.gettz('UTC')
In [3]: from_zone
From a working Ubuntu machine:
In [1]: from dateutil import zoneinfo
In [2]: from_zone = zoneinfo.gettz('UTC')
In [3]: from_zone
Out[3]: tzfile('Etc/UTC')
Some Python introspection.
Broken Ubuntu machine:
In [5]: zoneinfo.ZONEINFOFILE
From a working Ubuntu machine:
In [4]: zoneinfo.ZONEINFOFILE
Out[4]: '/usr/local/lib/python2.7/dist-packages/python_dateutil-1.5-py2.7.egg/dateutil/zoneinfo/zoneinfo-2010g.tar.gz'
More information: the broken machine, has upgraded from python 2.6 to python 2.7. Doing a
$ locate zoneinfo
-- snip --
/usr/lib/pymodules/python2.6/dateutil/zoneinfo
/usr/lib/pymodules/python2.6/dateutil/zoneinfo/__init__.py
/usr/lib/pymodules/python2.6/dateutil/zoneinfo/__init__.pyc
/usr/lib/pymodules/python2.7/dateutil/zoneinfo
/usr/lib/pymodules/python2.7/dateutil/zoneinfo/__init__.py
/usr/lib/pymodules/python2.7/dateutil/zoneinfo/__init__.pyc
/usr/local/lib/python2.6/dist-packages/dateutil/zoneinfo
/usr/local/lib/python2.6/dist-packages/dateutil/zoneinfo/__init__.py
/usr/local/lib/python2.6/dist-packages/dateutil/zoneinfo/__init__.pyc
/usr/local/lib/python2.6/dist-packages/dateutil/zoneinfo/zoneinfo-2010g.tar.gz
/usr/local/lib/python2.6/dist-packages/dateutil/zoneinfo/zoneinfo-2011d.tar.gz
/usr/share/zoneinfo
/usr/share/pyshared/dateutil/zoneinfo
-- snip --
I can see the issue but I am unsure about what to do about it. Note: I tried re-installing the python-dateutil with 'synaptic package manager' to no avail.
Solution
How about
from dateutil import tz
from_zone = tz.gettz('UTC')
print(from_zone)
# tzfile('/usr/share/zoneinfo/UTC')
OTHER TIPS
I know this is 8 months later, but I had the same issue. My solution was to uninstall the existing version via:
sudo pip uninstall python-dateutil
then reinstall via
sudo easy_install python-dateutil
I hope this helps someone.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow