запустить скрипт Python, используя предпочтительный вариант Python (run a python script using a preferred python variant)
Имя (Name)
pmpython
- run a python script using a preferred python variant
Синопсис (Synopsis)
pmpython
[python-args-and-script]
Описание (Description)
pmpython
provides a way to run python scripts using a
customisable python interpreter, rather than embedding the name
of a particular version of python into each script.
This can be useful as it allows version-independent python code
to be run anywhere. All python modules shipped with PCP support
versions 2.6 and later (in the python2 series), and 3.3 and later
(in the python3 release series).
Due to python monitoring and collecting scripts being relatively
simple in PCP (not requiring new modules, language features,
etc), it has been possible to ensure they work for all of the
above python versions.
However, the name of the python interpreter is not always the
same, thus, it is common for PCP python scripts to use a
'shebang' line that launches the python
interpreter indirectly as
follows:
#!/usr/bin/env pmpython
env(1) is used to find the correct path for the pmpython
executable from the user's $PATH
.
By default the name of the python interpreter is found from the
the value of $PCP_PYTHON_PROG
from the environment (if set) else
from /etc/pcp.conf. The latter is the more typical case where
this value is based on some heuristics about the platform at the
time the PCP packages were build and favour the use of python3 in
all recent releases of PCP (for those platforms that support it).
This allows an appropriate name to be used for the python
interpreter instead of a hard-coded python version name, while
still allowing the user to override the python interpreter as
follows:
$ PCP_PYTHON_PROG=python3 pmpython --version
Python 3.4.2
$ PCP_PYTHON_PROG=python2 pmpython --version
Python 2.7.9
This is convenient for shipping identical scripts on multiple
platforms, and for testing different python versions with the one
script (e.g. in the case where multiple versions of python are
installed, PCP_PYTHON_PROG can be set in the local environment to
override the global setting).
pmpython
is a replacement for an earlier tool with similar
function, namely pcp-python(1).
Окружение PCP (PCP environment)
Environment variables with the prefix PCP_
are used to
parameterize the file and directory names used by PCP. On each
installation, the file /etc/pcp.conf contains the local values
for these variables. The $PCP_CONF
variable may be used to
specify an alternative configuration file, as described in
pcp.conf(5).
Смотри также (See also)
env(1), pcp(1), pcp-python(1) and PCPIntro(1).