如何解决 WSL 中的“CondaHTTPError: HTTP 000 CONNECTION FAILED”错误?

Tas*_*ika 6 python conda miniconda windows-subsystem-for-linux ubuntu-20.04

我已在 Windows 10 中启用 WSL 并从 Microsoft 商店安装了 Ubuntu 20.04 LTS

要使用 meep 软件,我按照Windows 10 上的安装过程进行操作。不幸的是,当我运行以下命令时,

conda create -n mp -c conda-forge pymeep
Run Code Online (Sandbox Code Playgroud)

我收到类似的错误,

Collecting package metadata (current_repodata.json): failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/conda-forge/linux-64/current_repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://conda.anaconda.org/conda-forge/linux-64'
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下命令禁用 ssl,

conda config --set ssl_verify no
Run Code Online (Sandbox Code Playgroud)

但没有运气。现在,如何解决这个问题?

这是命令的 --verbose 输出,

tasmia@TASMIA-PC:~/study/softwares$ conda create -n mp -c conda-forge pymeep -v
Collecting package metadata (current_repodata.json): ...working... Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46d7220>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/noarch/current_repodata.json

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46d7be0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/linux-64/current_repodata.json

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46d74c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/noarch/current_repodata.json

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46d7fd0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/linux-64/current_repodata.json

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46ef7c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/noarch/current_repodata.json

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fd4f0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/linux-64/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46ef3d0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/noarch/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46ef550>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/linux-64/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46efb20>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/linux-64/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46ef970>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/noarch/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46efd00>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/noarch/current_repodata.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fd6d0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/linux-64/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fda30>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/noarch/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fdc10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/linux-64/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fdd90>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/r/linux-64/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e46fdf10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /conda-forge/noarch/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e464c0d0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/noarch/current_repodata.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e464c250>: Failed to establish a new connection: [Errno -2] Name or service not known')': /pkgs/main/linux-64/current_repodata.json

failed
Traceback (most recent call last):
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connection.py", line 169, in _new_conn
    conn = connection.create_connection(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/util/connection.py", line 73, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/home/tasmia/miniconda/lib/python3.9/socket.py", line 953, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connection.py", line 353, in connect
    conn = self._new_conn()
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f02e464c700>: Failed to establish a new connection: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/urllib3/util/retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='conda.anaconda.org', port=443): Max retries exceeded with url: /conda-forge/linux-64/current_repodata.json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e464c700>: Failed to establish a new connection: [Errno -2] Name or service not known'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 701, in fetch_repodata_remote_request
    resp = session.get(join_url(url, filename), headers=headers, proxies=session.proxies,
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='conda.anaconda.org', port=443): Max retries exceeded with url: /conda-forge/linux-64/current_repodata.json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f02e464c700>: Failed to establish a new connection: [Errno -2] Name or service not known'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/exceptions.py", line 1079, in __call__
    return func(*args, **kwargs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/cli/main.py", line 84, in _main
    exit_code = do_call(args, p)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
    return getattr(module, func_name)(args, parser)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/cli/main_create.py", line 41, in execute
    install(args, parser, 'create')
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/cli/install.py", line 261, in install
    unlink_link_transaction = solver.solve_for_transaction(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/solve.py", line 114, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/solve.py", line 157, in solve_for_diff
    final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/solve.py", line 262, in solve_final_state
    ssc = self._collect_all_metadata(ssc)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/solve.py", line 425, in _collect_all_metadata
    index, r = self._prepare(prepared_specs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/solve.py", line 1020, in _prepare
    reduced_index = get_reduced_index(self.prefix, self.channels,
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/index.py", line 288, in get_reduced_index
    new_records = SubdirData.query_all(spec, channels=channels, subdirs=subdirs,
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 140, in query_all
    result = tuple(concat(executor.map(subdir_query, channel_urls)))
  File "/home/tasmia/miniconda/lib/python3.9/concurrent/futures/_base.py", line 608, in result_iterator
    yield fs.pop().result()
  File "/home/tasmia/miniconda/lib/python3.9/concurrent/futures/_base.py", line 445, in result
    return self.__get_result()
  File "/home/tasmia/miniconda/lib/python3.9/concurrent/futures/_base.py", line 390, in __get_result
    raise self._exception
  File "/home/tasmia/miniconda/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 132, in <lambda>
    subdir_query = lambda url: tuple(SubdirData(Channel(url), repodata_fn=repodata_fn).query(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 145, in query
    self.load()
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 210, in load
    _internal_state = self._load()
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 375, in _load
    raw_repodata_str = fetch_repodata_remote_request(
  File "/home/tasmia/miniconda/lib/python3.9/site-packages/conda/core/subdir_data.py", line 806, in fetch_repodata_remote_request
    raise CondaHTTPError(help_message,
conda.exceptions.CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/conda-forge/linux-64/current_repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://conda.anaconda.org/conda-forge/linux-64'
Run Code Online (Sandbox Code Playgroud)

小智 12

也许这里的讨论有帮助: https ://github.com/conda/conda/issues/9948

总之,建议进行三个修复:

  1. 安装旧版本 (4.7.12) 的 conda / miniconda请参阅此处
  2. 更改 miniconda 安装的文件和目录权限 ( chmod -R 777 ~/.miniconda3)请参阅此处
  3. 重启wsl( wsl --shutdown)看这里

  • 重新启动 WSL 对我有用。我只是希望我知道为什么。 (8认同)