[Distutils] setup script not found when directory name is 100 characters
Maurits van Rees
m.van.rees at zestsoftware.nl
Tue Sep 2 23:26:26 CEST 2008
Marius Gedminas, on 2008-09-02:
> On Tue, Sep 02, 2008 at 09:23:30AM +0000, Maurits van Rees wrote:
>> I'm sure I have read this somewhere, but my search skills are failing
>> me. When easy installing a package this goes wrong:
>> $ bin/easy_install ../foo.bar/dist/foo.bar-1.0.3.tar.gz
>> Processing foo.bar-1.0.3.tar.gz
>> error: Couldn't find a setup script in ../foo.bar/dist/foo.bar-1.0.3.tar.gz
>> The cause is that there is a directory foo.bar-1.0.3/.../baz for which
>> the length of this path is exactly 100 characters. When I release a
>> version 1.1 instead, this path is reduced to 98 characters and
>> easy_install happily installs it.
>> Does anyone know which version of setuptools or easy_install
>> introduced this problem or fixes it? Or a link where this is
> Which Python version is this? I seem to remember some bug in stdlib's
> tarfile module that couldn't handle paths longer than 100 characters.
Ah right, tarfile is the culprit. I am using python2.4. And one of
the bug reports you pasted mentioned that python2.4 is not maintained
So I guess the possible workarounds are:
- Make a .egg instead of a .tar.gz for my package.
- Restrict myself to using x.y or a.b.c.d as the version of this
- Give the directory a shorter name...
Thanks for clearing this up.
Maurits van Rees | http://maurits.vanrees.org/
Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]
More information about the Distutils-SIG