Python中的各种报错-一般错误

目录

引用自己的包突然全部报错

ValueError: check_hostname requires server_hostname

missing 1 required positional argument: 'self'

xxx is not a package

libpng warning: iCCP: cHRM chunk does not match sRGB

check_hostname requires server_hostname

python 安装第三方库,超时报错--Read timed out.

index方法ValueError: xx is not in list

运行setup.py时出现no commands supplied 错误

引用其他py文件报错

removedirs报错:xxx目录不是空的

‘gbk‘ codec can‘t decode byte 0xa6 in position 4: illegal multibyte sequence

shutil copyfile的时候permission denied

三元运算符 报错“SyntaxError: can''t assign to conditional expression”

Object of type ’int64‘ is not JSON serializable

UnicodeDecodeError:“utf-8“
​​​​​​​


引用自己的包突然全部报错

现象:之前还是好的,代码完全没改,有一天打开项目发现所有对自己包的引用都有红色波浪线

将根目录(根据自己的实际情况)设置为Sources root

ValueError: check_hostname requires server_hostname

把vpn关了

missing 1 required positional argument: 'self'

类没有实例化就调用了它的方法

xxx is not a package

import的时候报错xxx is not a package

将import的文件夹变成Python package

在文件夹下增加__init__.py文件即可

libpng warning: iCCP: cHRM chunk does not match sRGB

不要使用QQ输入法

check_hostname requires server_hostname

我是在win10下遇到,关掉代理即可。

python 安装第三方库,超时报错--Read timed out.

socket.timeout: The read operation timed out

解决方法,设置超时时间  pip --default-timeout=100 install -U Pillow

ModuleNotFoundError: No module named xxxx

找对应的包安装即可。

注意有些包名字可能与提示的名字不同。

index方法ValueError: xx is not in list

如果对一个list使用index方法,查找值不存在的时候会报这个错误。

可以使用try except捕获,或者先用if xx in xx来判断某值是否存在来避免。

运行setup.py时出现no commands supplied 错误

是因为我写的命令为

python setup.py

实际改为 python setup.py  install 即可。

引用其他py文件报错

加上文件夹名

from a import * -> from 文件夹名.a import *

removedirs报错:xxx目录不是空的

removedirs只能删除空目录。

‘gbk‘ codec can‘t decode byte 0xa6 in position 4: illegal multibyte sequence

在打开文件时出现“‘gbk’ codec can’t decode byte 0xa6 in position 4: illegal multibyte sequence”报错,解决如下:

with open(path,‘rb’),即在读取文本的时候加入参数‘b’。

或者with open(path, 'r', encoding='utf-8')

shutil copyfile的时候permission denied

我遇到的问题是因为复制路径中一个是文件,一个文件夹。

三元运算符 报错“SyntaxError: can''t assign to conditional expression”

a=1
b=1
x=1 if a==b else x=0
print(x)

File "test.py", line 3
 x=a if a==b else x=0
  ^
SyntaxError: can't assign to conditional expression

三目运算中表达式只能作为左值

修改

a=1
b=1
x=1 if a==b else 0
print(x)

Object of type ’int64‘ is not JSON serializable

json可以解码的数据类型基本都是常见的int,float,str类型,而numpy.array的数据类型都是numpy内置的类型,json.dumps无法支持,需要将数据转换为标准类型

UnicodeDecodeError:“utf-8“

一般来说都是因为参杂了中文

1. 检查路径中是否有中文

2. 还有一个比较隐蔽的地方,就是你的电脑名是不是中文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值