[Distutils] Equivalent of config.h?
Denis Jasselette
dionysos_13 at yahoo.fr
Wed Jun 16 16:29:37 CEST 2010
Éric Araujo wrote:
> If your script has taken care of separating functions and the mail
> call
> in a “if __name__ == '__main__'” block, you can just import your
> script
> and get its __version__ attribute.
It was my first guess but then, I would have to rename my script with
a .py extension. Which is not great in an executable name.
P.J. Eby wrote:
> Yes. Use setuptools in your setup.py, and declare the version
> there. Then, in your script, use:
>
> from pkg_resources import require
> my_version = require('MyProjectName')[0].version
>
> Where 'MyProjectName' is whatever 'name=' argument you passed to
> setup() in your setup.py.
It works. However, I'd rather not force users to install setuptools if
possible.
David Cournapeau wrote:
> This is a perfectly fine solution. It is simple, and does not requires
> any 3rd party code.
It doesn't seem very clean though. But I suppose I could live with that.
I have another problem with this solution. Distutils seems to set
permissions of py_modules to non-world-readable. Meaning that, as I have
to launch the installation as root, I can't read it unless I launch the
script as root as well. The weird part is that the script's permissions
are just fine.
More information about the Distutils-SIG
mailing list