Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run installed python script?

I used distutils to install my python package, with this setup.py :

import distutils.core

args = {
    'name' :            'plugh',
    'version' :         '1.0',
    'scripts' :         [ "scripts/plugh" ],
    'packages':         [ "plugh" ],
}

d = distutils.core.setup(
    **args
)

On linux/mac, it works as expected:

% plugh
hello world
% 

On windows, the script "plugh" does not run:

C:\Python25\Scripts>plugh
'plugh' is not recognized as an internal or external command,
operable program or batch file.

C:\Python25\Scripts>

I found the bug report at http://bugs.python.org/issue7231 that the \Scripts directory is not added to PATH when you install python, so I applied the workaround described in that ticket (i.e. add C:\Python25\Scripts to PATH)

C:\Python25\Scripts>path
PATH=c:\Python25\Scripts;C:\Program Files\Legato\nsr\bin;C:\WINDOWS\system32;C:\
WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;c:\python2
5;c:\local;C:\WINDOWS\system32\WindowsPowerShell\v1.0

Is this something that just doesn't work on Windows? And if so, how exactly are you supposed to use python scripts on a windows machine?

I suppose that I could detect Windows, and add an additional script to the list, called "plugh.bat" containing something like:

@echo off
c:\python25\python.exec c:\python25\scripts\plugh %1 %2 %3 %4 %5 %6 %7 %8 %9

but is that really the right answer here? I would have thought that with all the customizations that distutils contains for windows, there would be a better answer than that.

like image 210
Mark S. Avatar asked Dec 01 '09 22:12

Mark S.


People also ask

How do I start the Python program after installation?

After installation, Python may be launched by finding it in Start. Alternatively, it will be available from any Command Prompt or PowerShell session by typing python . Further, pip and IDLE may be used by typing pip or idle .

How do I run a .py file in CMD?

Enter the "python" command and your file's name. For example, if your Python file is named "script", you would type in python script.py here. If your Python file has one or more spaces in its name, you'll place quotation marks around the file name and extension (e.g., python "my script.py" ).


1 Answers

windows uses the extension of the file to determine how it will run.

Name your file plugh.py and use plugh.py on the prompt to call it.

like image 171
nosklo Avatar answered Sep 18 '22 02:09

nosklo