Skip to main content
`Ctrl`+`K`

# numpy.distutils.exec_command

exec_command

Implements exec_command function that is (almost) equivalent to commands.getstatusoutput function but on NT, DOS systems the returned status is actually correct (though, the returned status values may be different by a factor). In addition, exec_command takes keyword arguments for (re-)defining environment variables.

Provides functions:

> exec_command — execute command in a specified directory and

>   in the modified environment.

> find_executable — locate a command using info from environment

>   variable PATH. Equivalent to posix which command.

Author: Pearu Peterson <pearu@cens.ioc.ee> Created: 11 January 2003

Requires: Python 2.x

Successfully tested on:

os.name | sys.platform | comments
--- | --- | ---
posix | linux2 | Debian (sid) Linux, Python 2.1.3+, 2.2.3+, 2.3.3 PyCrust 0.9.3, Idle 1.0.2
posix | linux2 | Red Hat 9 Linux, Python 2.1.3, 2.2.2, 2.3.2
posix | sunos5 | SunOS 5.9, Python 2.2, 2.3.2
posix | darwin | Darwin 7.2.0, Python 2.3
nt | win32 | Windows Me Python 2.3(EE), Idle 1.0, PyCrust 0.7.2 Python 2.1.1 Idle 0.8
nt | win32 | Windows 98, Python 2.1.1. Idle 0.8
nt | win32 | Cygwin 98-4.10, Python 2.1.1(MSC) - echo tests fail i.e. redefining environment variables may not work. FIXED: don’t use cygwin echo! Comment: also cmd /c echo will not work but redefining environment variables do work.
posix | cygwin | Cygwin 98-4.10, Python 2.3.3(cygming special)
nt | win32 | Windows XP, Python 2.3.3

Known bugs:

- Tests, that send messages to stderr, fail when executed from MSYS prompt because the messages are lost at some point.

Functions

`exec_command`(command[, execute_in, ...]) | Return (status,output) of executed command.
`filepath_from_subprocess_output`(output) | Convert bytes in the encoding used by a subprocess into a filesystem-appropriate str.
`find_executable`(exe[, path, _cache]) | Return full path of an executable or None.
`forward_bytes_to_stdout`(val) | Forward bytes from a subprocess call to the console, without attempting to decode them.
`get_pythonexe`() |
`temp_file_name`() |