calamari安装过程中的问题

我按照ceph分布式存储实战上的建议安装calamari时,依赖全都安装好了,但是编译还是有问题,一直报错:

File "/opt/calamari/venv/lib/python2.7/site-packages/attr/_next_gen.py", line 26
    *,
     ^
SyntaxError: invalid syntax

这个是由于python2.7的与_next_gen.py中代码的形式不兼容导致的

_next_gen.py中的代码形式:

def define(
    a,
    b,
    *,
    c,
    d
):

其中python2.7不支持*

因为在编译的过程中,这些文件都是动态生成的,我不知道是哪儿来的,因此只能在生成文件的时候把`*`注释掉

通过上下方日志,我最终定位到/usr/lib/rpm/brp-python-bytecompile这个文件

在编译前(大概是代码63行),将编译出错的文件中的*注释掉,加上这行代码

file="xxx/rpmbuild/BUILDROOT/calamari-server-1.5.2-15_g5b8fa14.el7.x86_64/opt/calamari/venv/lib/python2.7/site-packages/attr/_next_gen.py"  #xxx是你gitlab或者其他方式拉的calamari的代码的父目录
sed '26s/*/#*/g' $file > $file

再进行编译,成功

猜你喜欢

转载自blog.csdn.net/MrBlind/article/details/130736812