由于PyYAML,DevStack安装失败

问题描述

我正在尝试在CentOS系统上安装Devstack。我已经执行了运行stack.sh的必要设置,但是当我运行它时,出现以下故障:

Installing collected packages: PyYAML,zipp,importlib-Metadata,stevedore,colorama,pyperclip,cmd2,pyparsing,cliff,future,stestr,os-testr
  Attempting uninstall: PyYAML
    Found existing installation: PyYAML 5.3
ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
+inc/python:pip_install:1                  exit_trap
+./stack.sh:exit_trap:489                  local r=1
++./stack.sh:exit_trap:490                  jobs -p
+./stack.sh:exit_trap:490                  jobs=
+./stack.sh:exit_trap:493                  [[ -n '' ]]
+./stack.sh:exit_trap:499                  '[' -f '' ']'
+./stack.sh:exit_trap:504                  kill_spinner
+./stack.sh:kill_spinner:399               '[' '!' -z '' ']'
+./stack.sh:exit_trap:506                  [[ 1 -ne 0 ]]
+./stack.sh:exit_trap:507                  echo 'Error on exit'
Error on exit
+./stack.sh:exit_trap:509                  type -p generate-subunit
+./stack.sh:exit_trap:512                  [[ -z /opt/stack/logs ]]
+./stack.sh:exit_trap:515                  /usr/bin/python3.6 /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs
ebtables v1.8.4 (nf_tables): table `broute' is incompatible,use 'nft' tool.

+./stack.sh:exit_trap:524                  exit 1

在Internet上进行研究后,我了解到,当python的pip3逗号尝试卸载使用distutils安装的某些东西(显然包括PyYAML)时,显然会发生此故障。我还看到在stack.sh PyYAML的某处安装了PyYAML,然后尝试将其卸载失败!

我还查看了Devstack随附的setup.py脚本,但是该脚本显然不使用distutils。在PyYAML安装过程中,已在其他地方使用了它,但是找不到它的位置。

更糟糕的是,有一些解决方法包括对PIP使用--ignore-installed选项),但是我看不到将选项放置在stack.sh或我见过的任何其他文件中的位置。

就目前情况而言,stack.sh似乎无法使用。由于这个问题,它无法安装Devstack。

有没有人找到一种安装Devstack并解决此问题的方法?有替代stack.sh的方法吗?要开发堆栈?

解决方法

我找到了解决问题的方法:

请勿使用Devstack。使用Packstack。

我什至为Devstack发布了关于此问题的错误报告。似乎它不会在不久的将来得到修复。因此,那些寻求创建开发安装的用户应该使用Packstack。我能够按照以下提供的说明安装和运行带有Packstack的Openstack:

https://www.linuxtechi.com/install-openstack-centos-8-with-packstack/