[Python-Dev] decoding setuptools entry point scripts (was: Bilingual scripts) (original) (raw)

R. David Murray rdmurray at bitdance.com
Wed May 29 16:33:54 CEST 2013


On Tue, 28 May 2013 22:20:33 -0400, Tres Seaver <tseaver at palladion.com> wrote:

> So, my point is that the information on what python code is actually > being called ought to be in the stub script file, as a comment if > nothing else, for discoverability reasons. > > I'm not bothered enough to work up a patch, though :)

It is there already: # EASY-INSTALL-ENTRY-SCRIPT: 'pip==1.3.1','consolescripts','pip' Which says, load the entry point named 'pip' from the 'consolescripts' entry point group in the 'pip 1.3.1' distribution. The 'entrypoints.txt' metadata file specifies that that entry point is a function named 'main' inside the 'pip' package itself.

Ah, but you had to decode that for me, using your non-local expert's knowledge.

I assume 'main' is defined in or imported into pip's init?

Now, if the comment had said:

Call pip.main (per the specification in the pip entry of the

console_scripts section of pip-1.3.1-egg-info/entrypoints.txt).

then I would have known everything I needed to know without either consulting the implementor's documentation for setuptools or an expert such as yourself. Of that, as a user, the first two words are the only thing I'm interested in, but the other information could be handy in debugging certain specialized and unlikely issues, such as when someone has manually changed the entrypoints.txt file.

Note that the comment still requires you to know python import semantics...but if you don't know that much you wouldn't get far looking at the source code anyway. The dir/filename lets you 'find' the entrypoints.txt file even if you don't know where on your system that file is installed.

--David



More information about the Python-Dev mailing list