Python安装demjson模块报错:error in demjson setup command: use_2to3 is invalid
创始人
2025-05-30 23:30:14
0

本来是项目中使用 demjson 包的 JSON 功能,但是安装的时候报错了。

A new release of pip available: 22.3.1 -> 23.0.1

这个原因是说 pip 包的版本太低了,需要升级到 23.0.1。

使用 DOS 命令,进入到项目的目录下执行以下命令:

python -m pip install --upgrade pip

此时再安装 demjson 包还是报错:

pip install demjson

报错如下: 

重点是这样一句话: 

error in demjson setup command: use_2to3 is invalid

 查看 pip 版本:

pip  -V

看到确实是升级到了  23.0.1 了。

通过查资料给出了解决方案,下面给出文章的地址:

安装demjson时报错 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安装后不再可用,
降级setuptools版本即可解决。

根据这篇文章给出的方案,执行以下命令:

pip install --upgrade setuptools==57.5.0

 此时再使用 demjson 已经正常了。

但是这种方案直接把 setuptools 的版本从 65.5.1 降级到了 57.5.0,是否对于项目有影响目前还未知。

个人感觉这种降级的方案更适合个人练习,或者 demo 项目,如果是公司项目的话,很多时候我们不能做出这种降级的事情的。

所以,如有可能,我们还是需要使用其他版本解决 demjson 不兼容问题的。另外的方法就是,如果无法解决那就不适用 demjson 模块,毕竟 Python3 中自带的有 JSON 库,只需要导入即可:

#!/usr/bin/pythonimport jsondata = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]data2 = json.dumps(data)
print(data2)# 想输出成 JSON 格式,必须添加 indent=4 参数,取值一般是4
# 当然你喜欢的话也可以是其他,比如2
dataJson2 = json.dumps(data, indent=4, separators=(', ', ' : '))
print(dataJson2)jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';text = json.loads(jsonData)
print(text)
函数描述
json.dumps将 Python 对象编码成 JSON 字符串
json.loads将已编码的 JSON 字符串解码为 Python 对象

 这样就避免了升级 demjson 版本,进而导致 Setuptools(Python打包工具)版本过高的问题。

下面我们说一说 pip 和 Setuptools。

以下来源百度百科:

pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。pip 已内置于 Python 3.4 和 2.7 及以上版本,其他版本需另行安装。

常用方法有:

install 【 安装包安装 (Install packages.)】
download 【 下载下载包 (Download packages.)】
uninstall 【 卸载卸载包 (Uninstall packages.)】
search 【 搜索PyPI查找包 (Search PyPI for packages.)】
help 【 帮助显示命令的帮助 (Show help for commands.)】

具体使用方法是:

pip  install demjson

setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。

详情可以百度,或者看这篇文章:

Setuptools(Python打包工具)

相关内容

热门资讯

Android系统之nanom... 注意:以下代码基于msm8953 android10 root系统,nanomq 0.16.0,因此...
英雄不朽9月4日开学第一课观后... 英雄不朽9月4日开学第一课观后感最新或2023(历届)【1】  战争给我们留下了惨痛的记忆,也留下了...
最新或2023(历届)安全生产...   最新或2023(历届)安全生产宣传警示标语、横幅:  ●安全法规血写成,违章害己害亲人。  ●安...
最新或2023(历届)开学第一...  第1篇  最新或2023(历届)《开学第一课》描写了许多耳熟能详的英雄们的光荣事迹,他们为了民族的...
最新或2023(历届)开学第一...   第1篇:开学第一课英雄不朽观后感作文  《开学第一课》是我们小学生的良师益友,在它博大的胸怀里,...
最新或2023(历届)秋季开学...  最新或2023(历届)秋季开学第一课观后感英雄不朽1  这一期的《开学第一课》讲述的是抗日战争时期...
最新或2023(历届)秋季开学...   篇一  今天我看了以英雄不朽为主题的《开学第一课》节目。那是一段中国人永远都不会今天我看了以英雄...
最新或2023(历届)开学第一...  最新或2023(历届)开学第一课主题《英雄不朽》心得体会1  今年是抗日战争胜利七十周年,第一课的...
最新或2023(历届)秋开学第...  今天我看了以英雄不朽为主题的《开学第一课》节目。那是一段中国人永远都不会今天我看了以英雄不朽为主题...
开学第一课英雄不朽观后感 汇总...  英雄不朽观后感第1篇  最新或2023(历届)《开学第一课》节目9月4日20时播出,以下是小编为大...
《Linux下提交代码到git... 本文主要介绍在linux平台下提交代码到gitee 文章目录1、git命令行基本操作(1)创建仓库...
最新或2023(历届)开学第一...  最新或2023(历届)正值中国人民抗日战争暨世界反法西斯战争胜利七十周年,中央电视台大型公益节目《...
3.线性表链式表示 数据结构很重要! 数据结构很重要!!! 数据...
开学第一课最新或2023(历届...   篇一:  今天,看了开学第一课,本次的主题是英难。突然想到了自己读的《狼牙山五壮士》,我深深感动...
央视开学第一课最新或2023(...   篇一:  9月4日晚,我观看了最新或2023(历届)开学第一课:英雄不朽,看完后,我最想大声疾呼...
秋季开学第一课英雄不朽心得体会... 篇一  中华民族自近代以来最该融入一代又一代人血液的“民族记忆”,就是长达14年的抗日战争。  就在...
最新或2023(历届)开学第一...   篇一  《 开学第一课》是以“英雄不朽”为主题,围绕“爱国、勇敢、团结、自强”4个篇章,通过一个...
央视开学第一课最新或2023(...   篇一:  今年是中国人民抗日战争暨世界反法西斯战争胜利70周年,央视一年一度的大型公益节目《开学...
vscode插件开发(语言类) 目录项目初始化项目介绍如何调试高亮配置自定义主题自动补全打包、本地测试添加插件图标插件名称有unde...
开学第一课心得体会最新或202...   开学第一课心得体会:爱国之情  今天看了最新或2023(历届)《开学第一课》,我的心中不禁涌起澎...