Python установка более старой версии

Всем доброго времени формумчане. Подскажите пожалуйста как поставить Python 3.9.8. Излазил пол интернета и толком не чаго не нашол. На машине стоит Python 3.10.1 по зарез нужен 3.9.8
Почему именно эта версия?
В ауре есть python38 (3.8.12-2) может он пойдет? Если нет то правьте пакбилд под нужную версию.
Если не сложно подскажиш в кратце
yay -S python38 
А для использования надо смотреть что запускать собираетесь
python3.8  скрипт.py
,

или в виртуальном окружении

https://wiki.archlinux.org/title/Python/Virtual_environment
ну или Anaconda
https://docs.conda.io/projects/conda/en/latest/
Вопрос более, чем актуальный. Давайте попробуем его рассмотреть на примере актуального состояния Arch с питоном 3.10 и локальной сборкой FreeCAD хоть из ауры, хоть с гита https://github.com/realthunder/FreeCAD/commits/LinkDaily. В чем суть проблемы - да, собирается без ошибок. Но при попытке реального использования часть операций, вроде как связанных с pivy, просто не работет. В консоль выдает ошибки вида -

~$ freecad
FreeCAD 0.20, Libs: 0.20R30780 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2021
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
  #####                 ####  ###   ####
  #                    #      # #   #   #
  #     ##  #### ####  #     #   #  #   #
  ####  # # #  # #  #  #     #####  #   #
  #     #   #### ####  #    #     # #   #
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

connect failed: Нет такого файла или каталога
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 133, in attach
    self.axs = coin.SoType.fromName("SoAxisCrossKit").createInstance()
  File "/usr/lib/python3.10/site-packages/pivy/coin.py", line 491, in createInstance
    return _coin.SoType_createInstance(self)
<class 'SystemError'>: <built-in function SoType_createInstance> returned a result with an exception set
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 133, in attach
    self.axs = coin.SoType.fromName("SoAxisCrossKit").createInstance()
  File "/usr/lib/python3.10/site-packages/pivy/coin.py", line 491, in createInstance
    return _coin.SoType_createInstance(self)
<class 'SystemError'>: <built-in function SoType_createInstance> returned a result with an exception set
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 133, in attach
    self.axs = coin.SoType.fromName("SoAxisCrossKit").createInstance()
  File "/usr/lib/python3.10/site-packages/pivy/coin.py", line 491, in createInstance
    return _coin.SoType_createInstance(self)
<class 'SystemError'>: <built-in function SoType_createInstance> returned a result with an exception set
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 133, in attach
    self.axs = coin.SoType.fromName("SoAxisCrossKit").createInstance()
  File "/usr/lib/python3.10/site-packages/pivy/coin.py", line 491, in createInstance
    return _coin.SoType_createInstance(self)
<class 'SystemError'>: <built-in function SoType_createInstance> returned a result with an exception set
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 133, in attach
    self.axs = coin.SoType.fromName("SoAxisCrossKit").createInstance()
  File "/usr/lib/python3.10/site-packages/pivy/coin.py", line 491, in createInstance
    return _coin.SoType_createInstance(self)
<class 'SystemError'>: <built-in function SoType_createInstance> returned a result with an exception set
Такое сыпется при наличии в файле проекта (при открытии проводится полный пересчет всего) блока с созданными g-code, аналогично сыпется при попытке в верстаке Image (это самый простой и бысрый способ, в нем всего 3 кнопки из которых нужны лишь 2) импортировать картинку и попробовать задать ее размер.
Я был бы рад откатиь версию python и даже заморозить ее. Но попытки через downgrade натыкаются на массовые зависимости. Буду рад любому альтернативному решению. Сам временно, уже больше емсяца, использую appimage.
А чем вас всех способ указанный на wiki не устраивает с pyenv который есть в офф репозитории?
Ошибки в тексте-неповторимый стиль автора©
можно подробнее? - пошел читать, для меня это ново. Буду признателен автору пошаговой инструкции для задачи -
1. в консоли скомпилировать что-то (FreeCAD) с учетом подсунутого 3.9 и всего связанного с ним (знать бы еще, что кокнретно?)
2. затем запускать.
не сложно сделать -

pacman -S pyenv
pip install virtualenv
pip install virtualenvwrapper-win

но как это потом использовать?
intro-to-pyenv
Ошибки в тексте-неповторимый стиль автора©
3.8.9
3.8.10
3.8.11
3.8.12
- это крайние доступные в pyenv версии



depends=(
    # Copied from Freecad package
    'boost-libs' 'curl' 'opencascade>=7.2' 'xerces-c' 'libspnav' 'glew' 'netcdf'
    'shared-mime-info' 'hicolor-icon-theme' 'jsoncpp' 'qt5-base' 'qt5-declarative'
    'qt5-svg' 'qt5-tools' 'qt5-x11extras' 'qt5-xmlpatterns' 'qt5-webkit' 'med' 'python-pivy'
    'python-pyside2' 'python-matplotlib' 'pyside2-tools' 'shiboken2'
    # 'netgen-git'
    # 'pybind11'
    # 'calculix'
    # 'coin'
    # 'gmsh'
    # 'vtk'
    # 'python-shiboken2'

)
makedepends=(
    'cmake' 'ninja'
    'boost'
    'desktop-file-utils'
    'eigen'
    'gcc-fortran'
    'swig'
    'xerces-c'
    'coin'
)
optdepends=(
    'python-matplotlib' 'graphviz' 'openscad'
)
$ pyenv install -l
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.