You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下pip安装遭遇json.decoder.JSONDecodeError问题求助

pip安装时JSONDecodeError问题的解决方法

问题场景

在Linux系统中执行以下命令时触发JSON解码错误:

  • pip install gradio
  • pip install -r requirements.txt

报错核心信息:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

已尝试的无效操作:

  • 删除.cache目录
  • 删除虚拟环境并重新安装Anaconda

完整报错堆栈:

ERROR: Exception:
Traceback (most recent call last):
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 106, in _run_wrapper
    status = _inner_run()
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 97, in _inner_run
    return self.run(options, args)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
    return func(self, options, args)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 386, in run
    requirement_set = resolver.resolve(
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
    result = self._result = resolver.resolve(
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 427, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 239, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 230, in _get_updated_criteria
    self._add_to_criteria(criteria, requirement, parent=candidate)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
    return bool(self._sequence)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 174, in __bool__
    return any(self)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 162, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 49, in _iter_built
    for version, func in infos:
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 307, in iter_index_candidate_infos
    result = self._finder.find_best_candidate(
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 892, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 833, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/sources.py", line 193, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/package_finder.py", line 797, in process_project_url
    page_links = list(parse_links(index_response))
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/collector.py", line 218, in wrapper_wrapper
    return list(fn(page))
  File "/home/miniconda3/envs/hawk/lib/python3.10/site-packages/pip/_internal/index/collector.py", line 231, in parse_links
    data = json.loads(page.content)
  File "/home/miniconda3/envs/hawk/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/home/miniconda3/envs/hawk/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/miniconda3/envs/hawk/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

问题分析

从报错堆栈可以看出,pip在尝试解析PyPI索引页面的JSON内容时失败,说明请求获取到的页面内容为空或非JSON格式。大概率是pip的源配置异常,或者网络问题导致无法获取有效索引数据。

解决方案

  • 临时切换国内pip源
    直接在安装命令中指定国内镜像:

    pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
    # 安装requirements.txt同理
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 永久配置国内pip源
    创建或修改~/.config/pip/pip.conf文件,写入以下内容:

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 检查并重置pip配置
    先查看当前pip配置:

    pip config list
    

    若存在异常配置,执行重置:

    # 重置索引源配置
    pip config unset global.index-url
    # 或重置所有pip配置
    pip config --unset-all
    
  • 升级pip到最新版本
    先确保pip本身为最新版,避免版本bug:

    python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 检查网络连通性
    测试能否正常访问PyPI索引页面:

    curl https://pypi.org/simple/gradio/
    

    若返回空内容或非JSON格式,说明网络存在拦截,需检查防火墙、代理设置。

内容的提问来源于stack exchange,提问作者Jomeimoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:38:13