Jupyter Notebook打开Conda标签时触发500内部服务器错误(packaging.version.InvalidVersion: Invalid version: 'custom')
Jupyter Notebook打开Conda标签时触发500内部服务器错误(packaging.version.InvalidVersion: Invalid version: 'custom')
嘿,我完全理解你现在的困扰——好不容易学着用Jupyter Notebook,结果点Conda标签直接蹦出500错误,还折腾了重装和版本调整都没用。从你贴的报错日志来看,问题根源其实很明确:nb_conda这个Jupyter插件在拉取可用包列表时,碰到了一个版本号为custom的包,而Python的packaging库没法解析这种非标准的版本格式,直接抛出异常导致服务器崩溃。
给你几个针对性的解决办法,按顺序试就行:
先更新
nb_conda到最新版本
旧版本的nb_conda可能没考虑到这种异常版本的情况,先试试更新插件:conda install -c conda-forge nb_conda --update-deps更新完重启Jupyter Notebook,再点Conda标签看看能不能正常加载。
手动修改
nb_conda代码跳过异常版本
如果更新后还是不行,咱们直接改源码让它忽略这种有问题的包:- 找到报错里的
handlers.py文件,路径是/opt/anaconda3/envs/my_env/lib/python3.12/site-packages/nb_conda/handlers.py - 定位到第197行左右的这段代码:
version = parse_version(entry.get('version', '')) - 替换成下面带异常捕获的代码:
from packaging.version import InvalidVersion version_str = entry.get('version', '') try: version = parse_version(version_str) except InvalidVersion: # 跳过版本号不符合规范的包 continue - 保存文件后重启Jupyter,应该就能正常打开Conda标签了。
- 找到报错里的
排查conda频道里的异常包
这种情况大概率是某个第三方conda频道里混进了版本号为custom的包,你可以用conda config --show channels查看当前频道列表,暂时移除可疑的第三方频道也能解决问题,但这个方法相对麻烦,优先试试前两种。
备注:内容来源于stack exchange,提问作者Su Yin Myo Aung
相关产品推荐
相关产品推荐

