我正在尝试使用此命令 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.
我只收到此包的错误,其余的则没有。
这允许以不同的方式安装软件包,但不能解决 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