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)))