All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Willian Rampazzo" <willianr@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>, "John Snow" <jsnow@redhat.com>
Subject: [PULL 06/15] python: Add no-install usage instructions
Date: Wed, 30 Jun 2021 22:09:12 -0400	[thread overview]
Message-ID: <20210701020921.1679468-7-jsnow@redhat.com> (raw)
In-Reply-To: <20210701020921.1679468-1-jsnow@redhat.com>

It's not encouraged, but it's legitimate to want to know how to do.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Message-id: 20210629214323.1329806-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
---
 python/README.rst | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/python/README.rst b/python/README.rst
index 107786ffdc..d4502fdb60 100644
--- a/python/README.rst
+++ b/python/README.rst
@@ -37,6 +37,34 @@ See `Installing packages using pip and virtual environments
 for more information.
 
 
+Using these packages without installing them
+--------------------------------------------
+
+These packages may be used without installing them first, by using one
+of two tricks:
+
+1. Set your PYTHONPATH environment variable to include this source
+   directory, e.g. ``~/src/qemu/python``. See
+   https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH
+
+2. Inside a Python script, use ``sys.path`` to forcibly include a search
+   path prior to importing the ``qemu`` namespace. See
+   https://docs.python.org/3/library/sys.html#sys.path
+
+A strong downside to both approaches is that they generally interfere
+with static analysis tools being able to locate and analyze the code
+being imported.
+
+Package installation also normally provides executable console scripts,
+so that tools like ``qmp-shell`` are always available via $PATH. To
+invoke them without installation, you can invoke e.g.:
+
+``> PYTHONPATH=~/src/qemu/python python3 -m qemu.qmp.qmp_shell``
+
+The mappings between console script name and python module path can be
+found in ``setup.cfg``.
+
+
 Files in this directory
 -----------------------
 
-- 
2.31.1



  parent reply	other threads:[~2021-07-01  2:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-01  2:09 [PULL 00/15] Python patches John Snow
2021-07-01  2:09 ` [PULL 01/15] python/qom: Do not use 'err' name at module scope John Snow
2021-07-01  2:09 ` [PULL 02/15] python: expose typing information via PEP 561 John Snow
2021-07-01  2:09 ` [PULL 03/15] python: Remove global pylint suppressions John Snow
2021-07-01  2:09 ` [PULL 04/15] python: Re-lock pipenv at *oldest* supported versions John Snow
2021-07-01  2:09 ` [PULL 05/15] python: README.rst touchups John Snow
2021-07-01  2:09 ` John Snow [this message]
2021-07-01  2:09 ` [PULL 07/15] python: rename 'venv-check' target to 'check-pipenv' John Snow
2021-07-01  2:09 ` [PULL 08/15] python: update help text for check-tox John Snow
2021-07-01  2:09 ` [PULL 09/15] python: Fix .PHONY Make specifiers John Snow
2021-07-01  2:09 ` [PULL 10/15] python: only check qemu/ subdir with flake8 John Snow
2021-07-01  2:09 ` [PULL 11/15] python: add 'make check-dev' invocation John Snow
2021-07-01  2:09 ` [PULL 12/15] python: Update help text on 'make check', 'make develop' John Snow
2021-07-01  2:09 ` [PULL 13/15] python: Update help text on 'make clean', 'make distclean' John Snow
2021-07-01  2:09 ` [PULL 14/15] python: remove auto-generated pyproject.toml file John Snow
2021-07-01  2:09 ` [PULL 15/15] python: Fix broken ReST docstrings John Snow
2021-07-01 19:28 ` [PULL 00/15] Python patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210701020921.1679468-7-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.