conda create, conda install, conda update报错conda.core.subdir_data.Response304ContentUnchanged

一、问题的起因

我原来的环境是tensorflow1.5,后来升级到tensorflow2.1,却发现原来写的一些代码不能在tensorflow 2.0以上运行,要改代码的话确实涉及到一些底层的API,对我来说难度不小,于是想再创建一个环境tensorflow1.5,让这些老代码就在1.5版本的tensorflow下运行。于是进入到anaconda prompt命令行进行操作:conda create -n tensorflow1.5,于是就报出如下错误了:

Traceback (most recent call last):
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 227, in _load
        mod_etag_headers.get('_mod'))
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 574, in fetch_repodata_remote_request
        raise Response304ContentUnchanged()
    conda.core.subdir_data.Response304ContentUnchanged

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "C:\DEV\Anaconda3\lib\site-packages\conda\exceptions.py", line 819, in __call__
        return func(*args, **kwargs)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\cli\main.py", line 78, in _main
        exit_code = do_call(args, p)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\cli\conda_argparse.py", line 77, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\cli\main_create.py", line 11, in execute
        install(args, parser, 'create')
      File "C:\DEV\Anaconda3\lib\site-packages\conda\cli\install.py", line 235, in install
        force_reinstall=context.force,
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\solve.py", line 518, in solve_for_transaction
        force_remove, force_reinstall)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\solve.py", line 451, in solve_for_diff
        final_precs = self.solve_final_state(deps_modifier, prune, ignore_pinned, force_remove)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\solve.py", line 180, in solve_final_state
        index, r = self._prepare(prepared_specs)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\solve.py", line 592, in _prepare
        self.subdirs, prepared_specs)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\index.py", line 215, in get_reduced_index
        new_records = query_all(spec)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\index.py", line 184, in query_all
        return tuple(concat(future.result() for future in as_completed(futures)))
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 95, in query
        self.load()
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 149, in load
        _internal_state = self._load()
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 233, in _load
        mod_etag_headers.get('_mod'))
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 280, in _read_local_repdata
        _internal_state = self._process_raw_repodata_str(raw_repodata_str)
      File "C:\DEV\Anaconda3\lib\site-packages\conda\core\subdir_data.py", line 317, in _process_raw_repodata_str
        json_obj = json.loads(raw_repodata_str or '{}')
      File "C:\DEV\Anaconda3\lib\json\__init__.py", line 348, in loads
        return _default_decoder.decode(s)
      File "C:\DEV\Anaconda3\lib\json\decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "C:\DEV\Anaconda3\lib\json\decoder.py", line 353, in raw_decode
        obj, end = self.scan_once(s, idx)
    json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 169024 column 26 (char 4767569)
于是我就开始苦逼的在网上搜索(吐槽一下百度,搜索不到合适的结果,还是在google上搜索了大量的同样问题),我发现很多人遇到了类似的或相同的问题,可是却没有解决的好方法,直到我读到https://github.com/conda/conda/issues/8051,感谢EricThomson。

二、解决方法

1. 先查看channels

conda config --get channels

我的电脑上运行结果是:

--add channels 'defaults'   # lowest priority
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main'   # highest priority

2. 移除conda-forge

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

问题圆满解决,我开始愉快地创建新的环境了。

三、题外话

我很奇怪为啥我前一个月用conda成功创建了环境,过了一个月就不能创建环境了呢?我想了想,也许是我在升级安装tensorflow2.1时使用了清华的镜像源,所以我的channels就默认到清华的镜像了,而正好镜像上的conda-forge引起我的错误。这些都是猜测,没有得到验证,有知道的朋友请不吝赐教。
 

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值