[mythtv-users] V35 install on Archlinux using cmake is missing python modules used in find_orphans.py

Roland Ernst rcrernst at gmail.com
Wed Feb 19 21:59:53 UTC 2025


On Wed, Feb 19, 2025 at 10:34 PM James Abernathy <jfabernathy at gmail.com>
wrote:

>
>
> On Wed, Feb 19, 2025 at 4:19 PM James Abernathy <jfabernathy at gmail.com>
> wrote:
>
>>
>>
>> On Wed, Feb 19, 2025 at 4:06 PM James Abernathy <jfabernathy at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Feb 19, 2025 at 3:52 PM Roland Ernst <rcrernst at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Feb 19, 2025 at 9:39 PM James Abernathy <jfabernathy at gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Feb 19, 2025 at 3:30 PM Roland Ernst <rcrernst at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> It is already there, see
>>>>>>
>>>>>> https://github.com/MythTV/mythtv/commit/3a2980a3b96e2c6b128b9c4bb88db2b83aec9bdd
>>>>>>
>>>>>> Roland
>>>>>>
>>>>>>
>>>>> If I'm reading the commit correctly, it's only in master and not
>>>>> fixes/35.  Could that be why it's failing for me?
>>>>>
>>>>> JIm A
>>>>>
>>>>>
>>>> It is on the fixes/35 branch as well. Github only shows the tags, not
>>>> the branches.
>>>> What is exactly failing on for you?
>>>>
>>>> Roland
>>>>
>>>>
>>>
>>> I'm testing on a fresh system right now, but this morning on v35, it was
>>> not building or placing the python bindings anywhere. Not only was
>>> find_orphans.py not working but the user job lookup metadata failed.
>>>
>>> So on this build, besides the ansible dependencies, I also added
>>> python-pip, but I'm not using the -DMYTH_BINDINGS_INSTALL_ROOT=/
>>>
>>> Once I rebuilt with Bill's recommendation of
>>> -DMYTH_BINDINGS_INSTALL_ROOT=/ I got the bindings and stuff started working.
>>>
>>> We'll see what works this time.
>>>
>>> Jim A
>>>
>>
>> Okay on a clean system cmake building from master after building there
>> are no mythtv python bindings anywhere on the computer.
>>
>> plocate site-packages grep -i mythtv
>>
>> produces nothing. If I look at the console of the sudo cmake --build
>> build-qt5 I see the error:
>>
>> error: externally-managed-environment
>>
>> × This environment is externally managed
>> ╰─> To install Python packages system-wide, try 'pacman -S
>>    python-xyz', where xyz is the package you are trying to
>>    install.
>>
>>    If you wish to install a non-Arch-packaged Python package,
>>    create a virtual environment using 'python -m venv path/to/venv'.
>>    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
>>
>>    If you wish to install a non-Arch packaged Python application,
>>    it may be easiest to use 'pipx install xyz', which will manage a
>>    virtual environment for you. Make sure you have python-pipx
>>    installed via pacman.
>>
>> 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 in
>> stallation or OS, by passing --break-system-packages.
>> hint: See PEP 668 for the detailed specification.
>>
>> Jim A
>>
>
> I went back and delete build-qt5 directory and rebuilt but with both
> options:
>
> sudo cmake --preset qt5 -DMYTH_BINDINGS_INSTALL_ROOT=/
> -DCMAKE_INSTALL_PREFIX=/usr
> sudo cmake --build build-qt5
>
> This time plocate site-packages | grep -i mythtv  produces a lot of
> output.
>
> But it also shows this instead of the last PEP668 error. This time it's a
> warning.
>
>
> WARNING: Running pip as the 'root' user can result in broken permissions
> and conflicting behaviour with the system package manager, possibly
> rendering your system unusabl
> e. It is recommended to use a virtual environment instead:
> https://pip.pypa.io/warnings/venv. Use the --root-user-action option if
> you know what you are doing and want to
> suppress this warning.
>
> Jim A
>
>
Jim,
As explained previous in this thread, every python module you try to
install in a "EXTERNALLY-MANAGED" environment
without using a package manager is causing a PEP 668 error.
The flag -DMYTH_BINDINGS_INSTALL_ROOT=/ is a red herring.
The only way to overcome this is
sudo PIP_BREAK_SYSTEM_PACKAGES=1 cmake --build build-qt5

You definitely should not use this in a production environment, for the
following reasons:
- Consistency
- Maintainability
- Security
- Safety

Roland
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20250219/598e0e5a/attachment.htm>


More information about the mythtv-users mailing list