> On 26 Feb 2023, at 20:42, Victor Westerhuis <[email protected]> wrote:
> 
> Barry Scott <[email protected] <mailto:[email protected]>> schreef 
> op 26 februari 2023 21:36:20 CET:
>> 
>> 
>>> On 26 Feb 2023, at 14:06, ⁨Danial Behzadi دانیال بهزادی⁩ 
>>> <⁨[email protected] <mailto:[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. 

On Fedora they use the -s option for all system apps that use python to prevent 
breakage from user installed packages.

I have been living in that happy world where pip install --user was safe to use.

> 
> Virtualized installations do not cause issues and are still allowed using, 
> for example, pipx or raw venvs. 

I am aware of that, but don't reach for venv for simple stuff.
Clearly I'm going to have to figure out how to do this for my use case now.

Barry

>> 
>> 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

Reply via email to