cream
(Hei蛋炒饭)
1
Jenkins通过docker搭建的,python等环境和三方包已正常安装,但是在构件时,在项目目录执行pytest命令,就提示UnicodeDecodeError错误
同样的代码,放在linux物理机环境上也是相同的报错,代码中每个py文件都有申明coding:utf-8,请问下还有哪里需要修改编码的呢?
谢谢各位
刚才临时写了个测试的py文件丢上去,运行命令pytest test_file.py能正常运行
请哪位大佬帮忙看看,windows上能正常运行的代码部署在linux上有哪些编码需要注意的地方
报错信息多贴点吧,下面的都是系统日志了,没有关于你代码里的报错信息,看不出来哪段代码的编解码有问题哦
cream
(Hei蛋炒饭)
3
代码在windows上执行是没有问题的,但是部署在linux上执行就提示报Unicode错
这个是在docker内部,项目目录下执行pytest的报错情况
还是没看到报错信息,你的脚本里是不是涉及到文件流的操作了?
cream
(Hei蛋炒饭)
5
脚本里面没有文件写操作,都是读取配置config文件和测试用例yaml文件,剩下的就是http发请求访问接口获取响应的
你看图片倒数第二行的就是报错 UnicodeDecodeError: ‘utf-8’ can’t decode byte 0xb2 in position 162
Test
(权)
6
提供报错日志的前几行(你自己文件里的报错信息),而非python3 package里面的系统文件报错
cream
(Hei蛋炒饭)
7
控制台总共就输出这一点报错信息,没看到代码里的报错
代码在windows平台上可以正常跑
每个文件都在前面申明了coding:utf-8
Test
(权)
8
是否有任何oepn文件操作
将open(xxxx,‘r’)改成 (xxxx,‘rb’)
cream
(Hei蛋炒饭)
11
确实是在pytest.ini里面写了中文的marks标记描述
修改成英文的之后,在linux上运行没报错了,谢谢