Autore: Nick Data: To: dng Oggetto: Re: [DNG] Python and Virtual Environments
On 10-02-2025 06:01, Marc Shapiro via Dng wrote: > 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?
>
> Marc
Yes as the error messages states, you can by passing to pip
--break-system-packages.