[Distutils] Adding entry points into Distutils ?
Eric Smith
eric at trueblade.com
Thu May 7 16:15:19 CEST 2009
Doug Hellmann wrote:
>
> On May 7, 2009, at 8:54 AM, Paul Moore wrote:
>
>> 2009/5/7 Doug Hellmann <doug.hellmann at gmail.com>:
>>> I would argue the other way. Why force authors of console scripts to
>>> deal
>>> with entry points instead of just installing the script as-is?
>>
>> Please explain "as-is" with reference to ensuring that the script
>> works cross-platform. I think the benefit of entry points for scripts
>> is that it generates appropriate wrappers to allow use on all
>> platforms.
>
> I write a python script call hello.py like this:
>
> #!/usr/bin/env python
>
> def main():
> print 'hello!'
>
> if __name__ == '__main__':
> main()
>
> Why make me define an entry point for that? I can just put it in
> /usr/bin or somewhere in the path on Windows and call it as "hello.py".
>
> Does setuptools give me something extra for Windows? I'm not a regular
> Windows user, so it's likely that there are features I don't know about.
Yes. It creates a .exe wrapper [1]. By using entry points, I don't need
to care what the target system is. Also, /usr/bin/env might invoke the
wrong python.
>> [1] And note especially that .bat files are *not* suitable wrappers on
>> Windows, in spite of the fact that they are commonly used. Their
>> biggest disadvantage is that they don't nest.
Which is why it creates .exe wrappers, not batch files.
[1] http://peak.telecommunity.com/DevCenter/EasyInstall
More information about the Distutils-SIG
mailing list