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.

Was it helpful?

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
scroll top