[Distutils] current preferred way to specify dependencies? future?

David Lyon david.lyon at preisshare.net
Wed Jan 6 04:44:06 CET 2010

Hi John,

> What is expected to be the standard way to do this in the near future?

PEP-345 says:

 > Requires-Dist: pywin32 (>1.0); sys.platform == 'win32'
 > Obsoletes-Dist: pywin31; sys.platform == 'win32'
 > Requires-Dist: foo (1,!=1.3); os.machine == 'i386'
 > Requires-Dist: bar; python_version == '2.4' or python_version == '2.5'
 > Requires-External: libxslt; 'linux' in sys.platform

To me that's really confusing. Especially as a windows user.

 > os.machine == 'i386'

Haven't seen a '386 for over ten years.. Intel have standardised
to calling everything 'Pentium' pretty much since at least 2000.

imho 'win32' is a really confusing term. That implies that it won't
work on 64bit. When in fact it mostly will.

> What is currently the preferred way to specify ..

I would much prefer to see:

 > Requires-Dist[windows]: pywin32 (>1.0)


 > Requires-Dist[linux]: pyodbc (>1.0)


 > Requires-Dist[mac]: pyodbc (>1.0)


 > Requires-Dist[mac linux]: pyodbc (>1.0)

as platform markers. It doesn't require a big change to
the PEP. And it is actually simpler to implement I would

> Also, is it better to specify that your distribution depends upon some
> other *distribution*, or some other *packages/modules*?

I think that means the same thing.

I really hope these guys can make it no more complex than
it needs to be. Then we will all be happy.


More information about the Distutils-SIG mailing list