[Tutor] getting python 3 to run from the command line
Dave Angel
davea at ieee.org
Sat Nov 14 14:40:49 CET 2009
Khalid Al-Ghamdi wrote:
> Hi,
>
> for some reason I haven't been able to get python 3 to work from the the
> command line. I've added it to the the path in the the system variables but
> still no luck. when I try to run python 2.6 it works flawlessly, though,
> bearing in mind that it wasn't added to the system variables!
>
> i'm running windows vista and have python 30 ,31 and 26 installed.
>
> all of this , by the way, was just to get easy install to work so i can get
> nose working to do some practice of unit testing!
>
> can anyone shed some light on the issue?
>
> thanks
>
>
We need more details to really diagnose the problem, although you've
given enough for us to guess. If you really want to help us help you,
explain what you mean by "haven't been able to get..." Just what do
you try, and what happens when you try it? What does your PATH look
like, and where is the python installation you're trying to run.
I'll make some guesses anyway. You've got Vista, and you're running
from a command prompt. When you try the following:
c:\programming\sources\project\ > python myscript.py
the system runs Python 2.6 on your script (which is in the project
directory). Now you want it to run Python 3.1 instead. I have no clue
what you've tried.
There are four variables I know of which help determine whether you can
run a python script in various ways, and using various installations of
python. Two of these are in the registry, and two are in the
environment (environment variables). Keywords are assoc, ftype,
PATHEXT, and PATH
I'll start with the environment variable PATH. This determines how the
system interprets word "python" on the command above. If you have
multiple python.exe files, you can choose between them in two different
ways: you can change the PATH, or you can change what you type. My
preference is as follows:
Make a batch directory (Mine is called m:\t\bat ) and use it to put
all your batch files for various purposes. Add that directory to your
PATH to point there (by using Control panel, so it will still work on
reboots). Close any existing command lines (DOS boxes), because they
won't have the new PATH value. Start a new one, and check PATH to make
sure it's there, and spelled right.
For each installation of python.exe, create a pythonNN.bat which knows
how to run that particular version. So I might have a python26.bat
which has the following two lines in it:
Echo Running Python version 2.6
c:\python26\python.exe %*
When everything's working, you can take out the Echo line, and add a '@'
symbol in front of the other line.
The other three things I mentioned only affect you if you're trying to
run a python script "directly", without typing "python" in front of its
name.
One other thing: It's useful to have a simple script called
version.py, which looks something like:
import sys
print (sys.version)
(but don't indent the lines, naturally. For that matter, don't indent
them in the bat files above either.)
HTH,
DaveA
More information about the Tutor
mailing list