On Sun, Aug 11, 2013 at 1:58 PM, Jason R. Coombs <jar...@jaraco.com> wrote:
> This sounds like a suitable idea, but as you mention in a subsequent
> message, this format has issues with sys.path assumptions as well.

Meh.  It's basically, a one-line fix in the __main__.py, i.e.:

    import sys,os.path; sys.path[0] = os.path.dirname(sys.path[0])

Not exactly rocket science.  ;-)


> In this case, I'm inclined to suggest yet another option (7) - create another
> extension to specifically represent executable but not importable scripts,
> perhaps .pys/.pysw (or .pycs/.pygs to more closely match console script and
> gui script).

Probably .pys/.pyws or .pws would be needed, due to issues with some
Windows shells using extensions longer than three characters.  (This
came up in PEP 441 discussions on Python-Dev.)


> It sounds as if there is a fundamental need for Python to define an
> extension that distinguishes a script from a module.

Yep.


> I am aware of the PATHEXT factor. I personally add .py and .pyw to the
> PATHEXT (for all users) on my systems, so I was unsure if Python 3.3 did add
> those or if pylauncher would add them (if installed separately). I was
> _hoping_ that was the case, but it sounds like it is not. I did include in
> the documentation notes about this requirement
> (https://bitbucket.org/pypa/setuptools/src/1.0b1/docs/easy_install.txt#cl-98
> ).
>
> I do want to explore the possibility of setuptools facilitating this
> configuration such that it's easy for a Windows user to enable these
> settings even if Python does not.

It would definitely make sense to have an installer that sets this up,
but it would need to be a Windows installer, I think, not a Python
program.  That is, I don't think setuptools can really do anything
about it directly.

Personally, I'm not sure I see the point of pushing for early
elimination of .exe's - they don't depend on the registry or
environment variables or anything else, which makes them great for
standalone applications, and they work across all Python versions.
Meanwhile, the experimental nature of your change -- and its inability
to be the default on versions below 3.4 -- means you're going to be
maintaining two sets of code for a very long time.

OTOH, implementing a way to deploy an app as a .pyz/.pwz file is a
useful feature in its own right, so it might not be doubling up as
much.  ;-)
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to