On 28/09/2023 09.32, Jon Ribbens via Python-list wrote:
On 2023-09-27, Larry Martell <larry.mart...@gmail.com> wrote:
On Wed, Sep 27, 2023 at 12:42 PM Jon Ribbens via Python-list
<python-list@python.org> wrote:
On 2023-09-27, Larry Martell <larry.mart...@gmail.com> wrote:
I was under the impression that in a venv the python used would be in
the venv's bin dir. But in my venvs I see this in the bin dirs:
lrwxrwxrwx 1 larrymartell larrymartell 7 Sep 27 11:21 python -> python3
lrwxrwxrwx 1 larrymartell larrymartell 16 Sep 27 11:21 python3 ->
/usr/bin/python3
...
Not sure what this really means, nor how to get python to be in my venv.
WHy do you want python to be "in your venv"?
Isn't that the entire point of a venv? To have a completely self
contained env? So if someone messes with the system python it will not
break code running in the venv.
The main point of the venv is to isolate the installed packages,
rather than Python itself. I'm a bit surprised your symlinks are
as shown above though - mine link from python to python3.11 to
/usr/bin/python3.11, so it wouldn't change the version of python
used even if I installed a different system python version.
"venv — Creation of virtual environments"
(https://docs.python.org/3/library/venv.html) starts by saying:
«The venv module supports creating lightweight “virtual environments”,
each with their own independent set of Python packages installed in
their site directories.»
but later expands this with: «Used to contain a specific Python
interpreter...» even though the primary use-case treats the system
interpreter as the "base" Python/environment.
Time for some reading and proving appropriate combinations of options?
Over the years there have been various proposals to enable multiple
versions of Python to exist concurrently on a single machine, notably
Python2 + Python3 - but am failing to recall any official docs on
Python3.n + Python3.m; eg "PEP 554 – Multiple Interpreters in the
Stdlib" (https://peps.python.org/pep-0554/).
That said there's plenty of articles on-line (which may/not feature
venv*) such as "Multiple Python interpreters"
(https://developer.fedoraproject.org/tech/languages/python/multiple-pythons.html)
* although the OP didn't mention an OpSys, one poster did mention
Fedora-Linux...
NB some of this info may be dated - it is some time since conducted this
investigation (and decided not to use venv - apologies!)
Am currently using PyCharm (courtesy of recent teams' conventions) and
it eases both problems (which interpreter, and which
development-environment/activation steps) but in automating 'the boring
stuff' it will be interesting to see if in-future, I notice when the
project is based upon an older system!
FYI
https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-reloading-interpreter-paths.html
(I'd be surprised if the other major tool-sets don't offer something
similar)
Disclaimer: JetBrains sponsor our local PUG-meetings with a door-prize.
--
--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list