---
title: chaste安装过程中报错
description: "运行make -j48 Continuous后报错，报错信息：“AttributeError: 'str' object has no attribute 'format'”。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpcindapp/trouble/bootkit_hpc_troublecase_0050.html
sourcePath: /source/zh/kunpenghpcs/hpcindapp/trouble/bootkit_hpc_troublecase_0050.html
indexId: 567e1b94e437bde41f7a07241ed5691ca1bd52ef9d39038fedfb6c05162b62c874
---
# chaste安装过程中报错

#### 问题现象描述

运行make -j48 Continuous后报错，报错信息：“AttributeError: 'str' object has no attribute 'format'”。


#### 关键过程、根本原因分析

Format是python2.6新增的一个格式化字符串的方法。


#### 结论、解决方案及效果

执行以下操作修改translators.py。

vim /path/to/CHASTE/Chaste-release_2019.1/python/pycml/translators.py

将1830行取消注释，将1831行注释掉。

将1838行取消注释，将1839行注释掉。

修改前：

```
1830                 #self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
1831                 self.writeln(error_template.format(self.var_display_name(var)))
1832                 self.close_block(False)
1833             for var in high_range_vars:
1834                 if using_cvode:
1835                     additional_tolerance_adjustment = ' + tol'
1836                 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')
1837                 self.open_block()
1838                 #self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
1839                 self.writeln(error_template.format(self.var_display_name(var)))
```

修改后：

```
1830                 self.writeln('std::cout << "Too small: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
1831                 #self.writeln(error_template.format(self.var_display_name(var)))
1832                 self.close_block(False)
1833             for var in high_range_vars:
1834                 if using_cvode:
1835                     additional_tolerance_adjustment = ' + tol'
1836                 self.writeln('if (', self.code_name(var), ' > ', var.get_rdf_annotation(high_prop), additional_tolerance_adjustment, ')')
1837                 self.open_block()
1838                 self.writeln('std::cout << "Too large: ', self.code_name(var), ' = " << ', self.code_name(var) , ' << std::endl << std::flush;')
1839                 #self.writeln(error_template.format(self.var_display_name(var)))
```
