Python开发汇总


use_2to3 is invalid

1、报错

python3 安装 demjson==2.2.4 出现以下报错

error in demjson setup command: use_2to3 is invalid

由于 demjson 2.2.4 兼容python2和python3,当安装环境为python3时,有一部分代码需要转换。Setuptools从版本58.0.0开始不再支持2to3的builds,所以导致 demjson 2.2.4安装后不再可用。

安装其他库也有可能发生此错误,比如anyjson==0.3.3这个库。

2、解决办法

降级setuptools版本即可解决

pip install --upgrade setuptools==57.5.0

3、进一步建议

  • 使用demjson3
  • 使用python standard library的json模块

4、备注

  • setuptools changelog for v58

Django枚举类型扩展方法

1、问题

# 标准的枚举写法
EXPERIENCE_CHOICES = (
  (1, '应届毕业生'),
  (2, '3年及以下'),
  ...
)
# 偷懒的枚举写法
EXPERIENCE_CHOICES = (
  ('应届毕业生', '应届毕业生'),
  ('应届毕业生', '3年及以下'),
  ...
)

原因主要是很多人不会枚举类型的序列化

2、解决办法

  • Extra instance methods

怎么Django将post请求变成了get请求

1、来源

2、TLDR

  • urls.py的接口路径都带上SLASH
  • 外部请求的接口路径都带上SLASH

Apple Silicon安装package出错

1、来源

Jumpserver项目的requirement.txt中有pymssql==2.1.5,M1 Apple Silicon安装会报错 grpcio fails to install on Apple Silicon #25082

2、解决办法

升级软件版本到pymssql==2.2.4