2021年12月

Go语言编译失败,输出如下错误日志,关键错误提示 invalid pseudo-version

go: XXXXXXX: invalid pseudo-version: git fetch –unshallow -f origin in XXXXXXXXXX: exit status 128:
fatal: git fetch-pack: expected shallow list
fatal: The remote end hung up unexpectedly

报错原因是Git客户端版本太旧了.

https://github.com/golang/go/issues/38373

在 CentOS 7 和 RHEL 7 上,如果使用默认存储库进行安装,则版本为 1.8.3.1。

解决方法:

升级GIT,对于 CentOS 7 和 RHEL 7,使用 IUS 存储库安装将解决问题。

$ yum -y erase git
$ yum -y install https://repo.ius.io/ius-release-el7.rpm
$ yum -y install git222

检查版本:

$ git –version
git version 2.22.5

适用于有高精度需求的场景

导入:decimal模块

from decimal import Decimal

class DecimalEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Decimal):
return str(obj)
return json.JSONEncoder.default(self, obj)

val = Decimal(1)/Decimal(3)
number = val.quantize(Decimal("0.00000000")) #0.33333333
result = {'data': Decimal(number)}
return json.dumps(result, cls=DecimalEncoder)