pip install pytrec_eval 失败并出现 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

问题描述 投票:0回答:1

我正在尝试使用此命令 python -m pip install pytrec_eval 安装

pytrec_eval
软件包,但失败并出现以下错误:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1133)
。我正在尝试在 Linux 机器(Ubuntu 9.4.0)上使用
python=3.9
将其安装在 conda 环境中。

这是错误日志:

Collecting pytrec_eval
  Using cached pytrec_eval-0.5.tar.gz (15 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [44 lines of output]
      Traceback (most recent call last):
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 1346, in do_open
          h.request(req.get_method(), req.selector, req.data, headers,
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 1285, in request
          self._send_request(method, url, body, headers, encode_chunked)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 1331, in _send_request
          self.endheaders(body, encode_chunked=encode_chunked)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 1280, in endheaders
          self._send_output(message_body, encode_chunked=encode_chunked)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 1040, in _send_output
          self.send(msg)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 980, in send
          self.connect()
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/http/client.py", line 1454, in connect
          self.sock = self._context.wrap_socket(self.sock,
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/ssl.py", line 501, in wrap_socket
          return self.sslsocket_class._create(
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/ssl.py", line 1074, in _create
          self.do_handshake()
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/ssl.py", line 1343, in do_handshake
          self._sslobj.do_handshake()
      ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1133)
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-d8_09f0p/pytrec-eval_ea7e63f86646420cbfc12ae9c46aac88/setup.py", line 27, in <module>
          response = urllib.request.urlopen(REMOTE_TREC_EVAL_URI)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 214, in urlopen
          return opener.open(url, data, timeout)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 517, in open
          response = self._open(req, data)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 534, in _open
          result = self._call_chain(self.handle_open, protocol, protocol +
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 494, in _call_chain
          result = func(*args)
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 1389, in https_open
          return self.do_open(http.client.HTTPSConnection, req,
        File "/home/myusername/miniconda3/envs/hipporag-py39/lib/python3.9/urllib/request.py", line 1349, in do_open
          raise URLError(err)
      urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1133)>
      Fetching trec_eval from https://github.com/usnistgov/trec_eval/archive/v9.0.8.tar.gz.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

我只收到此包的错误,其余的则没有。

pip ssl-certificate python-3.9 ubuntu-9.04
1个回答
0
投票

这允许以不同的方式安装软件包,但不能解决 SSL 证书错误问题。

我从github下载了pytrec_eval代码并导航到项目目录:

git clone https://github.com/cvangysel/pytrec_eval.git
cd pytrec_eval

然后,我下载了

trec_eval
,其中 pytrec_eval
setup.py
文件
无法连接到:

grep https://github.com/usnistgov/trec_eval/archive/v9.0.8.tar.gz

我将zip文件解压到

trec_eval
目录:

tar -xvzf v9.0.8.tar.gz -C trec_eval

最后,我使用

setup.py
选项运行
install

python setup.py install
© www.soinside.com 2019 - 2024. All rights reserved.