Glenn Linderman <v+python <at> g.nevcal.com> writes:
Since I don't yet have associations set up that point at the
launcher, I thought I'd play with saying "py" in front of the
command.
Why don't you have any associations pointing to the launcher? Did you delete
them? If you uninstall and install the launcher, are they present?
So I have a command foo.py using Python 3 syntax in a directory on
my PATH. It works fine, since Python 3.2.1 is in Python.file.
foo.py does not have a #! line.
I can successfully execute: foo.py
However, the following fails: py foo.py
It fails, because foo.py is not found. Instead, I have to specify:
py d:\path\to\foo.py
This is annoying, py should walk the PATH for unqualified files (the
Windows PATH implicitly includes the current directory, of course,
It's not py's job to walk the path: the shell does that when you just type
"foo". It locates foo.py, and then invokes py because of file association - py
then checks the file for a shebang to decide which Python to dispatch it to.
OK, with that mystery solved, and using Notepad running as
administrator to actually, successfully edit the file, it still runs
the wrong version of Python. Here is the content of the file, what
I'm afraid I can't reproduce this. When I invoke a script with the default
py.ini, py runs it with Python 2. When I add a [defaults]python=3 entry, py
correctly runs it with Python 3.
is wrong? And why is the spacing around the = in the [commands]
section so inconsistent?
That's just test data, not a real "production" py.ini. I was testing out
something, which is why the spaces around = are every which way, and I never got
around to changing it. More importantly, those customised commands, while
perhaps useful for testing, are useless in everyday Python usage: perhaps -O,
-Werror, -E, -S etc. might be more useful. I'll take suggestions as to what
might be useful customised commands to ship as a default.