[PATCH v5 08/11] doc: devicetree: Updates for devicetree-rebasing subtree
Paul Barker
paul.barker.ct at bp.renesas.com
Fri Feb 16 11:46:50 CET 2024
On 14/02/2024 13:32, Sumit Garg wrote:
> On Wed, 14 Feb 2024 at 03:01, Paul Barker <paul.barker.ct at bp.renesas.com> wrote:
>> On 02/02/2024 13:05, Sumit Garg wrote:
>>> +Dependencies
>>> +~~~~~~~~~~~~
>>> +
>>> +The DT schema project must be installed in order to validate the DT schema
>>> +binding documents and validate DTS files using the DT schema. The DT schema
>>> +project can be installed with pip::
>>> +
>>> + pip3 install dtschema
>>
>> Unfortunately this won't work on recent distro versions, e.g. on Debian
>> 12 I get:
>>
>> 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.
>>
>> I don't have a good solution to recommend here - there's no consensus on
>> how to install Python tools for use in development. You could use
>> `pipx`, you could create a virtualenv, and I'm sure there are other
>> options as well. Perhaps we just need to leave it up to the reader to
>> find out how to install dtschema on their system.
>
> I suppose you haven't installed python3-pip package [1] on your Debian
> 12. BTW, `pip3` is being used as the common way to install dtschema
> [2]. Also, every user may not be aware about python virtual
> environments. So it's better to provide the commonly used pip3 option
> for installation.
The python3-pip package is installed, it's the pip3 program that is
printing the error message I saw. This is the new behaviour in Debian
12, also seen in rolling distributions like Arch Linux and OpenSuSE
Tumbleweed since the middle of last year. There is a good guide to this
from Python=>Speed [1] and more detail in the Python packaging spec [2].
Sadly it's something we now have to live with in recent Linux distro
releases, and I expect all distros will enable this in upcoming
releases.
[1]: https://pythonspeed.com/articles/externally-managed-environment-pep-668/
[2]: https://packaging.python.org/en/latest/specifications/externally-managed-environments/#externally-managed-environments
Thanks,
--
Paul Barker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x27F4B3459F002257.asc
Type: application/pgp-keys
Size: 3520 bytes
Desc: OpenPGP public key
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240216/1d81b27b/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240216/1d81b27b/attachment.sig>
More information about the U-Boot
mailing list