> On 27 Feb 2023, at 22:40, ⁨Danial Behzadi دانیال بهزادی⁩ 
> <⁨[email protected]⁩> wrote:
> 
> 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.

For my day job we package the python code in RPMs and control versions that way 
for Centos servers.
venv are one way, buyt not the only way.

Barry


> 
> This is the new standard for Python which Debian respects it too.
> 
> 
> در ۲۷ فوریهٔ ۲۰۲۳ ۱۴:۱۹:۱۸ (UTC)، Thomas Ward <[email protected] 
> <mailto:[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
>> >>> 
>> >

Reply via email to