我无法安装任何Python库。我正在使用python 2.7
和EN-NishantS:~ 8417$ pip install presto-python-client
Collecting presto-python-client
Could not find a version that satisfies the requirement presto-python-client (from versions: )
No matching distribution found for presto-python-client
。我收到以下错误:
pip install -vvv
在使用Collecting presto-python-client
1 location(s) to search for versions of presto-python-client:
* https://pypi.python.org/simple/presto-python-client/
Getting page https://pypi.python.org/simple/presto-python-client/
Looking up "https://pypi.python.org/simple/presto-python-client/" in the cache
No cache entry available
Starting new HTTPS connection (1): pypi.python.org
"GET /simple/presto-python-client/ HTTP/1.1" 403 170
Status code 403 not in [200, 203, 300, 301]
Could not fetch URL https://pypi.python.org/simple/presto-python-client/: 403 Client Error: TLSv1.2+ is required for url: https://pypi.python.org/simple/presto-python-client/ - skipping
Could not find a version that satisfies the requirement presto-python-client (from versions: )
Cleaning up...
No matching distribution found for presto-python-client
Exception information:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 324, in run
requirement_set.prepare_files(finder)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 554, in _prepare_file
require_hashes
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 278, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/index.py", line 514, in find_requirement
'No matching distribution found for %s' % req
DistributionNotFound: No matching distribution found for presto-python-client
Looking up "https://pypi.python.org/pypi/pip/json" in the cache
No cache entry available
Starting new HTTPS connection (1): pypi.python.org
"GET /pypi/pip/json HTTP/1.1" 403 170
Status code 403 not in [200, 203, 300, 301]
There was an error checking the latest version of pip
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/outdated.py", line 128, in pip_version_check
resp.raise_for_status()
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/_vendor/requests/models.py", line 862, in raise_for_status
raise HTTPError(http_error_msg, response=self)
HTTPError: 403 Client Error: TLSv1.2+ is required for url: https://pypi.python.org/pypi/pip/json
时,我得到以下内容:
@Test
public void myTest() throws Exception {
for (int i = 0; i<10; i++) {
System.out.println(i + " " + LocalDate.now());
System.out.println( TimeZone.getDefault().getDisplayName() );
Thread.sleep(5000);
}
}
答案 0 :(得分:9)
在Mac上,您可以执行sudo curl https://bootstrap.pypa.io/get-pip.py | python
答案 1 :(得分:6)
我今天遇到了同样的问题,试图安装Django。
我刚刚重新安装了pip。从https://pip.pypa.io/en/stable/installing/获取get-pip.py,然后在virtualenv中运行python get-pip.py
。这应该覆盖现有安装并更新SSL证书。
答案 2 :(得分:4)
macOS v10.12(Sierra)的同事刚刚通过运行brew install python@2
然后覆盖以前的版本来解决这个问题。似乎Python网站上的版本没有捆绑正确的OpenSSL版本。
我认为有人也直接向Python提交了一个错误: OS X system OpenSSL deprecated - installer should build local libssl
答案 3 :(得分:4)
似乎这个问题在Stack Overflow上产生了很多关于使用pip install package-name
未安装的各种软件包的问题。所以我想我会复制here的答案,以便更清楚地解决这个问题:
解决方案是将pip升级到最新版本。
但是,通过pip install --upgrade pip
升级点数可能无法正确升级(即使不是这样也会显示它是最新的)。
所以(对于Mac用户),我们需要按如下方式升级pip:
curl https://bootstrap.pypa.io/get-pip.py | python
Python.org网站正在停止对TLS版本1.0和1.1的支持。这意味着Mac OS X version 10.12(Sierra)或更老版本将无法使用pip,除非他们按上述方式升级pip。
This帖子解释了它(感谢this Twitter post):
使用pip和PyPI的Mac用户:
如果您运行的是macOS / OS X 10.12或更早版本,那么您应该这样做 升级到最新的pip(9.0.3)以连接到Python Package 安全索引:
curl https://bootstrap.pypa.io/get-pip.py | python
我们建议您在4月8日之前完成。
在macOS上的系统Python下运行时,Pip 9.0.3支持TLSv1.2&lt; 10.13。官方发行说明:https://pip.pypa.io/en/stable/news/
已完成 - 滚动限制已完成,TLSv1.0和TLSv1.1已被禁用。 4月11日,15:37 UTC
更新 - 滚动限制已升级为停电,TLSv1.0和TLSv1.1将始终以HTTP 403拒绝。 4月8日,15:49 UTC
最后,为了避免其他安装错误,请确保在执行上述操作后还升级setuptools:
pip install --upgrade setuptools
答案 4 :(得分:3)
您对PyPI的HTTP请求失败,出现HTTP 403(Forbidden)错误:
HTTPError: 403 Client Error: TLSv1.2+ is required for url:
https://pypi.python.org/pypi/pip/json
显然pip正试图通过HTTPS(加密且很好)访问PyPI,但是使用旧的(不安全的)SSL版本。你的系统似乎已经过时了。如果您更新软件包可能会有所帮助。
在基于Debian的系统上,我试试:
apt-get update && apt-get upgrade python-pip
在基于Red Hat Linux的系统上:
yum update python-pip # (or python2-pip, at least on Red Hat Linux 7)
在Mac上:
sudo easy_install -U pip
您还可以尝试单独更新openssl
。
答案 5 :(得分:2)
我使用macOS v10.13(High Sierra)成功升级了Python 3
sudo pip3 install --upgrade pip
。
要升级High Sierra版本2.7,我必须使用sudo pip2 install --upgrade pip
。
答案 6 :(得分:1)
我遇到了类似的问题。
问题出现在与系统Python安装相关的旧版OpenSSL中。
所以我从系统中卸载了所有Python发行版,并用brew install python@2
安装了最后一个Python实现。
您可以像这样检查链接到Python的OpenSSL版本:
Python 2.7.14 (default, Mar 22 2018, 15:04:47)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2o 27 Mar 2018'