FYI, I found https://github.com/s3tools/s3cmd/issues/306 and have followed up on that thread. Would be nice to re-open the issue and have it resolved.

Let me know if there's anything I can do to test it.

Thanks!


Jeremy Wadsack
Keylime Toolbox



On Thu, Jul 17, 2014 at 8:07 AM, Jeremy Wadsack <jeremy@keylimetoolbox.com> wrote:
I just updated to 1.5.0-rc1 on one of our servers and running s3cmd gives the following error:

$ s3cmd --version

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
  Please try reproducing the error using
  the latest s3cmd code from the git master
  branch found at:
  If the error persists, please report the
  following lines (removing any private
  info as necessary) to:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Traceback (most recent call last):
  File "/usr/bin/s3cmd", line 2527, in <module>
    report_exception(e)
  File "/usr/bin/s3cmd", line 2465, in report_exception
    s = u' '.join([unicodise(a) for a in sys.argv])
NameError: global name 'unicodise' is not defined

I tried downgrading to 1.5.0-beta1 (which is working on other machines) and I get this error:

Invoked as: /usr/bin/s3cmd --versionProblem: ImportError: No module named FileDict
S3cmd:   1.0.1

Traceback (most recent call last):
  File "/usr/bin/s3cmd", line 2266, in <module>
    from S3.FileDict import FileDict
ImportError: No module named FileDict

Your sys.path contains these entries:
/usr/bin
/usr/lib/python2.6/site-packages/pydns-2.3.4-py2.6.egg
/usr/lib/python2.6/site-packages/dnspython-1.9.4-py2.6.egg
/usr/lib/python2.6/site-packages/lxml-2.3.2-py2.6-linux-x86_64.egg
/usr/lib/python2.6/site-packages/robotexclusionrulesparser-1.4.0-py2.6.egg
/usr/lib/python2.6/site-packages/xlwt-0.7.2-py2.6.egg
/usr/lib/python2.6/site-packages/xlrd-0.7.1-py2.6.egg
/usr/lib/python2.6/site-packages/nose-1.1.2-py2.6.egg
/usr/lib/python2.6/site-packages/redis-2.6.0-py2.6.egg
/home/ec2-user/s3cmd/s3cmd-1.5.0-beta1
/usr/lib64/python26.zip
/usr/lib64/python2.6
/usr/lib64/python2.6/plat-linux2
/usr/lib64/python2.6/lib-tk
/usr/lib64/python2.6/lib-old
/usr/lib64/python2.6/lib-dynload
/usr/lib64/python2.6/site-packages
/usr/lib64/python2.6/site-packages/gtk-2.0
/usr/lib/python2.6/site-packages
/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info
Now the question is where have the s3cmd modules been installed?

Note that it says the PkgInfo is still 1.0.1, not one of the 1.5.0 versions. I removed all the /usr/lib/pything2.6/site-packages/s3cmd*.egg-info files and re-installed, but this didn't seem to help.

When I reinstall, it just copies the .egg-info file (not .egg directory):

$ sudo python setup.py install
Using xml.etree.ElementTree for XML processing
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/bin/s3cmd to 755
running install_data
running install_egg_info
Removing /usr/lib/python2.6/site-packages/s3cmd-1.5.0_beta1-py2.6.egg-info
Writing /usr/lib/python2.6/site-packages/s3cmd-1.5.0_beta1-py2.6.egg-info

Not sure where to look next. Got any thoughts?


Jeremy Wadsack
Keylime Toolbox