[Distutils] Egg name computation

Martin Fiers Martin.Fiers at intec.ugent.be
Tue Oct 15 14:07:05 CEST 2013


Hello,

What's the preferred approach to having different eggs (for different 
platforms) in one folder?

I noticed that fortunately easy_install recognizes the platform, so I 
can get away by having good filenames, such as

mytest-2.1.2c1-py2.7-win32
mytest-2.1.2c1-py2.7-win-amd64

The problem is that the egg-generation does not include the platform 
name (so it is not compatible with the easy_install behavior, which is 
weird). When I look in bdist_egg.py, I can see this:

             # Compute filename of the output egg
             basename = Distribution(
                 None, None, ei_cmd.egg_name, ei_cmd.egg_version,
                 get_python_version(),
                 self.distribution.has_ext_modules() and self.plat_name
             ).egg_name()


So the platform argument now is
self.distribution.has_ext_modules() and self.plat_name
Shouldn't it just be
self.plat_name
?

Would there be a workaround? I can think of giving the full name to 
setup, without specifying a version:

setup(name='mytest-2.1.2c1-py2.7-win32', version = '', ...)


Thanks very much!
Martin

P.S. On an unrelated note, wouldn't it be more pythonic, and easier to 
read, to include keyword arguments in the basename = Distribution(...) line?


More information about the Distutils-SIG mailing list