我对 Python 非常陌生,并试图在 Windows 7 上使用 > pip install linkchecker
。一些注意事项:
- 无论软件包如何,pip install 都会失败。例如,
> pip install scrapy
也会导致 SSL 错误。 - Python 3.4.1 的香草安装包括 pip 1.5.6。我尝试做的第一件事是安装链接检查器。 Python 2.7 已经安装,它随 ArcGIS 一起提供。
python
和pip
在我安装 3.4.1 之前无法从命令行使用。 > pip search linkchecker
有效。这可能是因为 pip search 没有验证站点的 SSL 证书。- 我在公司网络中,但我们不通过代理访问 Internet。
- 每台公司计算机(包括我的)都有一个受信任的根证书颁发机构,用于各种原因,包括启用对 https://google.com 的 TLS 流量的监控。不确定这是否与它有关。
以下是运行 pip install linkchecker
后我的 pip.log 的内容:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
原文由 Jeremy Cook 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需使用“config –global http.sslVerify false”语句安装任何包
您可以通过设置
pypi.org
和files.pythonhosted.org
以及旧的pypi.python.org
作为可信主机来忽略SSL错误。注意:2018 年 4 月的某个时候, Python 包索引 从
pypi.python.org
迁移到pypi.org
。这意味着使用旧域的“可信主机”命令不再有效,但您可以添加两者。永久修复
自 pip 10.0 发布以来,您应该能够通过升级
pip
本身来永久修复此问题:或者通过 重新安装它 来获取最新版本:
(……然后使用相关的 Python 解释器运行
get-pip.py
)。pip install <otherpackage>
应该在此之后工作。如果没有,那么您将需要做更多,如下所述。您可能希望 将受信任的主机和代理添加到您的配置文件 中。
pip.ini
(Windows) 或pip.conf
(unix)替代解决方案(不太安全)
大多数答案可能会带来安全问题。
有助于轻松安装大多数 python 包的两个解决方法是:
easy_install <package_name>
。请注意,某些包将找不到或会出现小错误。pip install wheel_package_name.whl
安装包。