Invalid version: ‘4.0.0-unsupported‘ - cmd 报错解决方案

Python工具包升级报错解决方案
该文章已生成可运行项目,

使用 cmd 进行工具包升级时,遇到报错:Invalid version: '4.0.0-unsupported' 。尝试多种方案后解决,遂总结为经验贴。

背景

需要在 cmd 中升级一个工具包 nltk,无法升级。

#自然语言处理工具包 nltk 升级指令
pip install --upgrade nltk


升级 pip 成功

pip install --upgrade pip

随后再次执行升级指令,出现报错:

WARNING: Error parsing dependencies of pyodbc: Invalid version: '4.0.0-unsupported'

解决方案

1. 根据自己的情况,打开本地 python 或 Anaconda3 的文件夹。

2. 在路径后增加如下路径:

Lib\site-packages

作者完整路径为:D:\software\Anaconda3\Lib\site-packages。

来到文件夹 site-packages,找到文件夹【pyodbc-4.0.0_unsupported-py3.9.egg-info】(文件夹较多但是按照字母顺序排列的,往下拉很快就找到了,不用搜索)

3. 将文件夹【pyodbc-4.0.0_unsupported-py3.9.egg-info】剪切到桌面,此时文件夹 site-packages 内没有这个子文件夹。

4. 回到 cmd 再次运行升级指令,即可成功运行

5. 完事儿以后记得把桌面的【pyodbc-4.0.0_unsupported-py3.9.egg-info】文件夹拖回去,避免功能缺失。下一次在遇到相同报错重复以上步骤即可。

本文章已经生成可运行项目
PS D:\前端\苍穹外卖\前端源码\苍穹外卖前端源码\project-sky-admin-vue-ts> cnpm install / [18/53] Installing workbox-sw@^3.6.3 WARN node unsupported "node@v16.20.2" is incompatible with @vue/cli-plugin-eslint@3.12.1 › globby@9.2.0 › @types/glob@7.2.0 › @types/minimatch@6.0.0 › minimatch@*, expected node@20 || >=22 \ [20/53] Installing jsesc@~3.0.2[npminstall:download:npm] Ignore invalid cache file C:\Users\liuchaokun\.npminstall_tarball\manifests\b\a\4\ba4fb9d2cfccee2af987f2b069ef7fda.json - [20/53] Installing safer-buffer@~2.1.0 WARN node unsupported "node@v16.20.2" is incompatible with @vue/cli-plugin-eslint@3.12.1 › globby@9.2.0 › @types/glob@7.2.0 › @types/minimatch@6.0.0 › minimatch@10.0.3 › @isaacs/brace-expansion@^5.0.0, expected node@20 || >=22 \ [21/53] Installing minimalistic-assert@^1.0.0 WARN node unsupported "node@v16.20.2" is incompatible with @vue/cli-plugin-eslint@3.12.1 › globby@9.2.0 › @types/glob@7.2.0 › @types/minimatch@6.0.0 › minimatch@10.0.3 › @isaacs/brace-expansion@5.0.0 › @isaacs/balanced-match@^4.0.1, expected node@20 || >=22 √ Installed 53 packages √ Linked 1390 latest versions [1/7] scripts.install fibers@^4.0.2 run "node build.js || nodejs build.js", root: "D:\\前端\\苍穹外卖\\前端源码\\苍穹外卖前端源码\\project-sky-admin-vue-ts\\node_modules\\_fibers@4.0.3@fibers" D:\前端\苍穹外卖\前端源码\苍穹外卖前端源码\project-sky-admin-vue-ts\node_modules\_fibers@4.0.3@fibers>node "D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\npminstall\node-gyp-bin\\node-gyp.js" rebuild --release gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at PythonFinder.failNoPython (D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\node-gyp\lib\configure.js:484:19) gyp ERR! stack at PythonFinder.<anonymous> (D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\node-gyp\lib\configure.js:509:16) gyp ERR! stack at callback (D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\graceful-fs\polyfills.js:306:20) gyp ERR! stack at FSReqCallback.oncomplete (node:fs:202:21) gyp ERR! System Windows_NT 10.0.22000 gyp ERR! command "D:\\My Software\\nodejs\\node.exe" "D:\\My Software\\nvm\\nvm\\v16.20.2\\node_modules\\cnpm\\node_modules\\npminstall\\node-gyp-bin\\node-gyp.js" "rebuild" "--release" gyp ERR! cwd D:\前端\苍穹外卖\前端源码\苍穹外卖前端源码\project-sky-admin-vue-ts\node_modules\_fibers@4.0.3@fibers gyp ERR! node -v v16.20.2 gyp ERR! node-gyp -v v4.0.0 gyp ERR! not ok node-gyp exited with code: 1 Please make sure you are using a supported platform and node version. If you would like to compile fibers on this machine please make sure you have setup your build environment-- Windows + OS X instructions here: https://github.com/nodejs/node-gyp Ubuntu users please run: `sudo apt-get install g++ build-essential` RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'` Alpine users please run: `sudo apk add python make g++` 'nodejs' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 [npminstall:runscript:error] fibers@^4.0.2 scripts.install run "node build.js || nodejs build.js" error: Error [RunScriptError]: Run "C:\Windows\system32\cmd.exe /d /s /c node build.js || nodejs build.js" error, exit code 1 at ChildProcess.<anonymous> (D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\runscript\index.js:114:21) at ChildProcess.emit (node:events:513:28) at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) { stdio: [Object], exitcode: 1 } × Install fail! RunScriptError: post install error, please remove node_modules before retry! Run "C:\Windows\system32\cmd.exe /d /s /c node build.js || nodejs build.js" error, exit code 1 RunScriptError: Run "C:\Windows\system32\cmd.exe /d /s /c node build.js || nodejs build.js" error, exit code 1 at ChildProcess.<anonymous> (D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\runscript\index.js:114:21) at ChildProcess.emit (node:events:513:28) at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) npminstall version: 5.8.1 npminstall args: D:\My Software\nodejs\node.exe D:\My Software\nvm\nvm\v16.20.2\node_modules\cnpm\node_modules\npminstall\bin\install.js --fix-bug-versions --china --userconfig=C:\Users\liuchaokun\.cnpmrc --disturl=https://npmmirror.com/mirrors/node --registry=https://registry.npmmirror.com
07-31
### 解决 `Invalid version: '4.0.0-unsupported'` 错误 当遇到此错误时,通常是因为某些已安装的 Python 包具有不兼容或非标准的版本号。具体来说,在尝试通过 pip 安装其他软件包或者更新现有软件包的过程中遇到了名为 pyodbc 的库存在一个带有标签 `-unsupported` 的 4.0.0 版本。 #### 方法一:移除并重置特定问题包 对于由特定包引起的此类问题,可以采取如下措施: 1. 寻找引起冲突的具体包位置。一般情况下这些有问题的文件会存在于类似于 `C:\ProgramData\Anaconda3\Lib\site-packages` 或者用户本地环境对应的 site-packages 文件夹里[^4]。 2. 将该目录下的 `[package_name]-4.0.0_unsupported.dist-info` 文件夹临时移动至安全的地方保存备份,比如桌面上。 3. 返回命令行界面再次运行原本失败的操作(如安装新包),此时应该不会再受到之前那个异常版本的影响而顺利完成操作。 4. 如果一切正常,则可考虑删除旧版残留数据;如果后续还需要用到这个特殊标记过的版本,再将其放回原来的位置即可。 #### 方法二:全局修复 pip 和依赖关系管理器设置 另一种更彻底的方法是从根本上解决问题——即调整 pip 行为使其能够更好地处理那些不符合 PEP 440 标准定义的版本字符串的情况: ```bash pip install --upgrade pip setuptools wheel ``` 这条指令将会把 pip 及其核心组件升级到最新稳定版本,从而可能修正一些内部逻辑来适应更多样化的版本声明方式[^5]。 另外还可以尝试清理缓存以排除潜在干扰因素: ```bash pip cache purge ``` 这一步骤有助于消除任何可能导致解析错误的历史遗留元数据。 最后建议定期检查所使用的第三方库是否提供了官方支持的新版本,并及时跟进迁移指南完成必要的适配工作,以此减少因过期API或其他技术债务带来的风险。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lu rong_qq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值