【发布时间】:2020-08-14 22:14:18
【问题描述】:
我正在尝试在 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 commamd 尝试卸载使用 distutils 安装的某些东西(显然包括 PyYAML)时,显然会发生此故障。我还看到在 stack.sh PyYAML 的某个地方安装了,然后尝试卸载它失败了!
我还查看了 Devstack 附带的 setup.py 脚本,但该脚本显然不使用 distutils。它在 PyYAML 安装期间在其他地方使用,但找不到它的位置。
更糟糕的是,有一些变通方法(包括对 PIP 使用 --ignore-installed 选项),但我没有看到该选项在 stack.sh 或我见过的任何其他文件中的位置。
就目前而言,stack.sh 看起来无法使用。由于这个问题,它无法安装 Devstack。
有没有人找到安装 Devstack 并解决此问题的方法?有没有stack.sh的替代品?开发堆栈?
【问题讨论】: