[Python-checkins] [3.10] gh-88452: Add a warning about non-portability of environments. (GH-98155) (GH-98156)
vsajip
webhook-mailer at python.org
Mon Oct 10 16:09:35 EDT 2022
https://github.com/python/cpython/commit/bf6b52ebade9ed779c0a0482f35cb00e062616b1
commit: bf6b52ebade9ed779c0a0482f35cb00e062616b1
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: vsajip <vinay_sajip at yahoo.co.uk>
date: 2022-10-10T21:09:27+01:00
summary:
[3.10] gh-88452: Add a warning about non-portability of environments. (GH-98155) (GH-98156)
files:
M Doc/library/venv.rst
diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst
index 127a8717cf7d..fe5e4c0c9cb5 100644
--- a/Doc/library/venv.rst
+++ b/Doc/library/venv.rst
@@ -84,6 +84,19 @@ Creating virtual environments
without there needing to be any reference to its virtual environment in
``PATH``.
+.. warning:: Because scripts installed in environments should not expect the
+ environment to be activated, their shebang lines contain the absolute paths
+ to their environment's interpreters. Because of this, environments are
+ inherently non-portable, in the general case. You should always have a
+ simple means of recreating an environment (for example, if you have a
+ requirements file ``requirements.txt``, you can invoke ``pip install -r
+ requirements.txt`` using the environment's ``pip`` to install all of the
+ packages needed by the environment). If for any reason you need to move the
+ environment to a new location, you should recreate it at the desired
+ location and delete the one at the old location. If you move an environment
+ because you moved a parent directory of it, you should recreate the
+ environment in its new location. Otherwise, software installed into the
+ environment may not work as expected.
.. _venv-api:
More information about the Python-checkins
mailing list