Python编译报错的自我记录

本文详细解析了常见的YAML语法错误,包括ParserError、ScannerError等,并提供了具体的修正方法,如避免使用中文标点、正确配置块映射、处理多行文本等,适合于初学者和开发者快速定位并解决YAML配置文件中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

yaml.parser.ParserError: expected '<document start>', but found '<scalar>'

这个后面会跟报错的是哪个文件,第几行。 仔细检查一下,是不是有中文的标点符号,当时我是应为中文的:,导致的这种的报错.

2.

yaml.parser.ParserError: expected '<document start>', but found '<block mapping start>'

在配置文件中定义了块,但是在解析的时候,没有解析块的语句,只要删除[],这种就可以往下走了。在开始新项目的时候这种错误偏多。

3. 

yaml.scanner.ScannerError: while scanning a simple key

方法1: 参考:成功解决Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key_码上敲享录(但是对我没有用处,我需要继续)

方法2:主要是yaml中有多行的文字,目前还没有解决,暂时的解决方法是配置文件中删除,保证编译通过

4. 

without specifying the Loader=... parameter

参考:https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation

简单的解决办法就是把yaml.open 改成yaml.safe_open就解决了,这是一个告警

5.

cx_Oracle怎么也连接不上数据库,关键是别人还可以

解决方法:参考https://cx-oracle.readthedocs.io/en/latest/installation.html#installing-cx-oracle-on-macos

结论就是,Oracleclient安装的有问题(我的是Mac版本的,麻烦一些),但是这里也记录一下奇怪的事情,Oracle自家的SQL Developer可以使用

6. yaml.scanner.ScannerError: while scanning a double-quoted scalar

解决办法,我的yaml中,是一个这样的sql: "abc"的格式

我发现这个sql内容很复杂,所以,尝试sql: abc  就可以

就是yaml读取的时候,做了各种转义,所以,如果你是"",可能就不行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值