As a developer who runs many Python apps with Systemd for years, I can say that using virtual environments was the only standard way even before this behavior change. It add no complexity and prevents a lot of things yo go wrong.
This is the new standard for Python which Debian respects it too. در ۲۷ فوریهٔ ۲۰۲۳ ۱۴:۱۹:۱۸ (UTC)، Thomas Ward <[email protected]> نوشت: >If I may make an observation, how would one implement these venvs properly >then if something requires to be launchdd via systemd (custom services)? Or >specialized daemons which do not properly behave as expected in venvs? > >This is going to increase complexity massovely for end users who expect >userspace module installation to work. Was this decision a Debian level >decision or an upstream Python decision? > > > >Sent from my Galaxy > > > >-------- Original message -------- >From: Victor Westerhuis <[email protected]> >Date: 2/26/23 17:56 (GMT-05:00) >To: [email protected], Barry Scott <[email protected]>, >Danial Behzadi دانیال بهزادی <[email protected]> >Subject: Re: pip install --user broken in debian testing? > >Barry Scott <[email protected]> schreef op 26 februari 2023 21:36:20 CET: >> >> >>> On 26 Feb 2023, at 14:06, Danial Behzadi دانیال بهزادی >>> <[email protected]> wrote: >>> >>> That's the new intended behavior. I you want non-debian python packages, >>> install them in a non-debian python via virtual environments. >> >>The idea is to prevent installing into /usr not preventing install in $USER I >>hope. >According to the PEP it's both, and it actually makes sense. Python does not >distinguish between packages in system-wide and user-specific locations. > >Allowing non-virtualized installation of Python packages into the >user-specific location could therefore break Python programs and libraries >installed by apt/dpkg. > >Virtualized installations do not cause issues and are still allowed using, for >example, pipx or raw venvs. >> >>I think this is a major bug. >> >>Barry >> >> >> >>> >>> >> >>> >>> در ۲۶ فوریهٔ ۲۰۲۳ ۱۰:۰۴:۲۰ (UTC)، Barry Scott <[email protected]> نوشت: >>>> I have been using the following to add useful python based commands to my >>>> user locally: >>>> >>>> $ python3 -m pip install --user <package> >>>> >>>> For install I get this: >>>> >>>> $ python3 -m pip install --user colour-text >>>> 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.11/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. >>>> >>>> This look wrong to me as I am not installing into the systems >>>> site-packages. >>>> >>>> Barry >>>> >> > > >-- >Groet, Regards, > >Victor Westerhuis >

