50

I'm trying to convert some date/times to UTC, which I thought would be dead simple in Python - batteries included, right? Well, it would be simple except that Python (2.6) doesn't include any tzinfo classes. No problem, a quick search turns up python-dateutil which should do exactly what I need.

The problem is that I need to install it on Windows. I was able to upack the .tar.gz2 distribution using 7-zip, but now I'm left with a collection of files and no guidance on how to proceed. When I try to run setup.py I get the error "No module named setuptools".

Zero Piraeus
  • 47,176
  • 24
  • 135
  • 148
Mark Ransom
  • 271,357
  • 39
  • 345
  • 578

11 Answers11

66

If dateutil is missing install it via:

pip install python-dateutil

Or on Ubuntu:

sudo apt-get install python-dateutil
Hugo
  • 22,841
  • 6
  • 67
  • 86
Stan Reshetnyk
  • 1,876
  • 1
  • 13
  • 30
17

Why didn't someone tell me I was being a total noob? All I had to do was copy the dateutil directory to someplace in my Python path, and it was good to go.

Mark Ransom
  • 271,357
  • 39
  • 345
  • 578
  • 2
    @eyquem, Python defines a tzinfo class without providing any implementations; not even a UTC timezone, which would be trivial. – Mark Ransom Aug 25 '11 at 14:50
  • 2
    The second anwser (install via pip) is better answer than this one. It plays better with virtualenv and it will allow you to update the version in the future if you need it. – Davisein Mar 06 '14 at 14:27
  • 2
    @Davisein, pip doesn't come with Python for Windows either, although I understand that's changing. And when I asked the question, I believe pip was still quite new. – Mark Ransom Mar 06 '14 at 15:37
  • 2
    @MarkRansom Sure! I noticed the date of the answer but I thought it will help people to recommend a different option nowadays. But I am sure when it was answered it was the best option. – Davisein Mar 06 '14 at 17:12
  • I can confirm Python 2.7.10 (May 2015) on Windows does come with `pip`, so I would recommend @Jhossep's answer as the simplest and cleanest – perlyking Mar 17 '16 at 11:33
6

Looks like the setup.py uses easy_install (i.e. setuptools). Just install the setuptools package and you will be all set.

To install setuptools in Python 2.6, see the answer to this question.

Community
  • 1
  • 1
Jason Coon
  • 15,401
  • 9
  • 38
  • 50
5

Install from the "Unofficial Windows Binaries for Python Extension Packages"

http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-dateutil

Pretty much has every package you would need.

eamo
  • 345
  • 4
  • 13
5

It is a little tricky for people who is not used to command prompt. All you have to do is open the directory where python is installed (C:\Python27 by default) and open the command prompt there (shift + right click and select open command window here) and then type :

python -m pip install python-dateutil

Hope that helps.

2

Using setup from distutils.core instead of setuptools in setup.py worked for me, too:

#from setuptools import setup
from distutils.core import setup
Chris Ostler
  • 647
  • 4
  • 9
1

If you are offline and have untared the package, you can use command prompt.

Navigate to the untared folder and run:

python setup.py install
Ray Jowa
  • 121
  • 4
0

Just run command prompt as administrator and type this in.

easy_install python-dateutil
User
  • 20,562
  • 35
  • 99
  • 185
0

You could also change your PYTHONPATH:

$ python -c 'import dateutil'
   Traceback (most recent call last):
     File "<string>", line 1, in <module>
   ImportError: No module named dateutil
$
$ PYTHONPATH="/usr/lib/python2.6/site-packages/python_dateutil-1.5-py2.6.egg":"${PYTHONPATH}"
$ export PYTHONPATH
$ python -c 'import dateutil'
$

Where /usr/lib/python2.6/site-packages/python_dateutil-1.5-py2.6.egg is the place dateutil was installed in my box (centos using sudo yum install python-dateutil15)

luismartingil
  • 839
  • 9
  • 14
0

First confirm that you have in C:/python##/Lib/Site-packages/ a folder dateutil, perhaps you download it, you should already have pip,matplotlib, six##,,confirm you have installed dateutil by--- go to the cmd, cd /python, you should have a folder /Scripts. cd to Scripts, then type --pip install python-dateutil -- ----This applies to windows 7 Ultimate 32bit, Python 3.4------

0

I followed several suggestions in this list without success. Finally got it installed on Windows using this method: I extracted the zip file and placed the folders under my python27 folder. In a DOS window, I navigated to the installed root folder from extracting the zip file (python-dateutil-2.6.0), then issued this command:

.\python setup.py install

Whammo-bammo it all worked.

evadeflow
  • 4,124
  • 31
  • 45