[Distutils] setuptools: .egg-info/ and PKG-INFO
Ian Bicking
ianb at colorstudy.com
Fri Nov 4 20:09:54 CET 2005
Sorry, I somehow missed this response...
Phillip J. Eby wrote:
> At 04:30 PM 10/25/2005 -0500, Ian Bicking wrote:
>
>> I'm trying to figure out how I should deal with the .egg-info directory,
>> and PKG-INFO.
>>
>> Right now PKG-INFO is being generated from setup.py. So I don't want to
>> put it in my source control repository, since it is derivative. But I'm
>> maintaining by hand some other files in the .egg-info directory, usually
>> custom package metadata that we consume internally, so I need those
>> files (and .egg-info) in the repository, and hence in the checkout.
>>
>> However, without PKG-INFO lots of things break, as pkg_resources gives a
>> ValueError during some operations (e.g.: ValueError: ("Missing
>> 'Version:' header and/or PKG-INFO file", ProjectName [unknown version]
>> (/usr/home/ianb/co/IscapeLib/tests/appsetup/output/Proj-05))) -- this
>> happens anytime I iterate over entry points, including when setuptools
>> iterates over entry points, which means lots of setup.py commands are
>> broken. They are broken simply because the incomplete .egg-info
>> directory is on the path, even though I don't need direct access to it.
>> I can run setup.py egg_info (creating PKG-INFO) for some reason (that
>> I have not yet determined), but not my own custom setup.py extensions.
>> This includes stuff like "python setup.py egg_info my_custom_command",
>> so I have to write PKG-INFO in a completely separate command.
>
>
> 'setup.py develop' should create the info and put the directory on the
> path for you. Likewise, so does 'setup.py test'. Which other commands
> are giving you problems?
Well, like I said, any custom command. These just inherit from
setuptools.Command, implementing the standard
initialize_options/finalize_options/run methods. I even tried having my
custom command recursively call "egg_info" (with get_finalized_command),
but because the error is signaled before I get as far as .run() (where I
put the egg_info call) it doesn't help. Maybe I could use another
method that is invoked earlier.
Though now I can't reproduce it; maybe this was fixed in 0.6a7?
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Distutils-SIG
mailing list