making symlinks with distutils
Sylvain Thenault
sylvain.thenault at logilab.fr
Fri Feb 4 05:59:22 EST 2005
On Fri, 04 Feb 2005 02:45:34 -0800, Michele Simionato wrote:
> I want to distribute a pure Python package with this structure:
>
>> mypackage
>> __init__.py
>> module1.py
>> module2.py
>> ...
>> myexecutable.py
>
> In particular, myexecutable.py is a script which is intended to be used
> from the command line via the shebang trick. I want to distribute on
> Unices.
> and I want a symlink
>
> /usr/bin/myexecutable -> <package-path>/mypackage/myexecutable.py
>
> to be made at installation time, when the user runs "python setup.py
> install".
>
> What is the recommanded way to do that? Do I need a postinstallation
> script or something like that?
>
> I could do that in various way, but I don't see the obvious one, maybe
> because I am not a Dutch ;)
i'm not sure there is a standard way to do so with distutils.
My current way to handle executable scripts is to have a run() function in
the myexecutable.py module, and then to have a very simple myexecutable
script with the following content:
#!/usr/bin/python
from mypackage import myexecutable
myexecutable.run()
And then register this script using distutils'"scripts" keyword argument.
This has the advantage that I can also create a very simple .bat file for
windows users without code duplication.
--
Sylvain Thénault LOGILAB, Paris (France).
http://www.logilab.com http://www.logilab.fr http://www.logilab.org
More information about the Python-list
mailing list