:: Re: [DNG] Python and Virtual Enviro…
Forside
Slet denne besked
Besvar denne besked
Skribent: Olaf Meeuwissen
Dato:  
Til: Marc Shapiro
CC: dng
Emne: Re: [DNG] Python and Virtual Environments
Hi,

Marc Shapiro via Dng <dng@???> writes:

> I have been writing the occasional python program since before venvs
> were a thing, or, at least before I had ever heard of them. I have a
> program that I wrote years ago that uses yfinance.  This does not seem
> to be available in Devuan, so I installed it from PyPI. Every now and
> then the program stops working and that usually means that Yahoo made
> changes and I need to get the most recent version of yfinance.  Now,
> it is saying that yfinance can not be installed because the
> environment is externally managed:
>
> -----------------------------------------------------------------------------------------------
>
> error: externally-managed-environment
>
> × This environment is externally managed
> ╰─> To install Python packages system-wide, try apt install
>     python3-xyz, where xyz is the package you are trying to
>     install.
>
>     If you wish to install a non-Debian-packaged Python package,
>     create a virtual environment using python3 -m venv path/to/venv.
>     Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
>     sure you have python3-full installed.
>
>     If you wish to install a non-Debian packaged Python application,
>     it may be easiest to use pipx install xyz, which will manage a
>     virtual environment for you. Make sure you have pipx installed.
>
>     See /usr/share/doc/python3.12/README.venv for more information.
>
> note: If you believe this is a mistake, please contact your Python
> installation or OS distribution provider. You can override this, at
> the risk of breaking your Python installation or OS, by passing
> --break-system-packages.
> hint: See PEP 668 for the detailed specification.
>
> -----------------------------------------------------------------------------------------------
>
> Is there any way to get pip to install to a system that does not use
> virtual environments, or any other way to install a module from PyPI
> to s non-venv environment?


I don't know why you want to avoid virtual environments but using pipx
instead of plain pip will take care of the virtual environment bit for
you. If you want to make your python program available to all users on
your system, just pass the --global option to pipx.

Hope this helps,
--
Olaf Meeuwissen