Hi there,

I'm a new user of s3cmd and I love it! Many thanks for making this nifty little utility.

I've been using s3cmd in various environments and one of them had python 2.4.4 by default:
Python 2.4.4 (#2, Jan 24 2010, 11:50:13)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]

when running s3cmd, I hit the following error:
======================================================
$  s3cmd ls

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
  Please report the following lines to:
   s3tools-bugs@lists.sourceforge.net
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Problem: AttributeErr: 'builtin_function_or_method' object has no attribute 'new'
S3cmd:   0.9.9.91

Traceback (most recent call last):
  File "/home/timothee/bin/s3cmd", line 1736, in ?
    main()
  File "/home/timothee/bin/s3cmd", line 1681, in main
    cmd_func(args)
  File "/home/timothee/bin/s3cmd", line 91, in cmd_ls
    subcmd_buckets_list_all(s3)
  File "/home/timothee/bin/s3cmd", line 104, in subcmd_buckets_list_all
    response = s3.list_all_buckets()
  File "/home/timothee/bin/S3/S3.py", line 159, in list_all_buckets
    request = self.create_request("LIST_ALL_BUCKETS")
  File "/home/timothee/bin/S3/S3.py", line 396, in create_request
    request = S3Request(self, method_string, resource, headers, params)
  File "/home/timothee/bin/S3/S3.py", line 36, in __init__
    self.sign()
  File "/home/timothee/bin/S3/S3.py", line 70, in sign
    signature = sign_string(h)
  File "/home/timothee/bin/S3/Utils.py", line 290, in sign_string
    signature = base64.encodestring(hmac.new(Config.Config().secret_key, string_to_sign, sha1).digest()).strip()
  File "hmac.py", line 107, in new
    return HMAC(key, msg, digestmod)
  File "hmac.py", line 42, in __init__
    self.outer = digestmod.new()
AttributeError: 'builtin_function_or_method' object has no attribute 'new'

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
    Please report the above lines to:
   s3tools-bugs@lists.sourceforge.net
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================================

Something wrong with the hmac library.

The environment I was in also had python2.5 installed and by changing the first line from:
#!/usr/bin/env python
to
#!/usr/bin/python2.5
It worked again.

However, given that s3cmd lists:
======================================================
if float("%d.%d" %(sys.version_info[0], sys.version_info[1])) < 2.4:
        sys.stderr.write("ERROR: Python 2.4 or higher required, sorry.\n")
        sys.exit(1)
======================================================
I was expecting it to work in 2.4.4 as well.


That's it, let me know if you need more information on my system; and many thanks again for this wonderful tool!

Tim.