[英]pip error while installing Python: “Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS”
I downloaded the Python 3.5 source code and ran the following:我下载了 Python 3.5 源代码并运行了以下命令:
$ tar -xf Python-3.5.2.tar.xz
$ ./configure --with-ensurepip=upgrade
$ make
$ sudo make altinstall
It proceeded well until make
.它进行得很好,直到make
。 When sudo make altinstall
ran, it printed:当sudo make altinstall
运行时,它打印:
Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS
What went wrong?出了什么问题?
You are most likely not compiling Python with SSL/TLS support - this is likely because you don't have the SSL development dependencies installed on your system.您很可能没有使用 SSL/TLS 支持编译 Python - 这可能是因为您的系统上没有安装 SSL 开发依赖项。
Install the following dependency, and then re-configure and re-compile Python 3.5.安装以下依赖,然后重新配置并重新编译Python 3.5。
Ubuntu Ubuntu
apt-get install libssl-dev
In addition it is recommended to install the following.此外,建议安装以下内容。
apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libsqlite3-dev
CentOS CentOS
yum install openssl-devel
In addition it is recommended to install the following.此外,建议安装以下内容。
yum install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel
在 Ubuntu 18.04 上只有这对我有用
sudo apt-get install libssl1.0
Please note that besides that as of version OpenSSL 1.1.0 (included from Ubuntu 18.04 repositories, I am not sure for other Linux distributions) there are python vesions that may have compilation issues (see this question and my answer ), in short:请注意,除了 OpenSSL 1.1.0 版本(包含在 Ubuntu 18.04 存储库中,我不确定其他 Linux 发行版)之外,还有可能存在编译问题的 Python 版本(请参阅此问题和我的答案),简而言之:
Python <3.4.5 and Python <3.5.3 have not implemented this newest version of OpenSSL, most likely other major Python versions suffer the same issue. Python <3.4.5 和 Python <3.5.3 尚未实现此最新版本的 OpenSSL,很可能其他主要 Python 版本也遇到同样的问题。 The fix is to download the minor version that implements the fix (or newer).修复是下载实现修复(或更新)的次要版本。 Check the full changelogs to check which minor version that is (changelog for 3.4 and 3.5 )检查完整的变更日志以检查是哪个次要版本( 3.4和3.5 的变更日志)
CentOS :中央操作系统:
If you didn't have openssl-devel
at the time of installing python, pip 8.1.1 won't install.如果你在安装python的时候没有openssl-devel
,pip 8.1.1是不会安装的。 After installing openssl-devel
, reinstall python
.安装openssl-devel
,重新安装python
。 This time it should install pip
just file.这次它应该只安装pip
文件。
I tried to install Python 3.4.10 using asdf
but got following error:我尝试使用asdf
安装 Python 3.4.10,但出现以下错误:
$ asdf install python 3.4.10
python-build 3.4.10 /home/br0ke/.asdf/installs/python/3.4.10
Downloading Python-3.4.10.tar.xz...
-> https://www.python.org/ftp/python/3.4.10/Python-3.4.10.tar.xz
Installing Python-3.4.10...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems
BUILD FAILED (Fedora 30 using python-build 1.2.15-2-g22c02022)
Inspect or clean up the working tree at /tmp/python-build.20191121110112.9959
Results logged to /tmp/python-build.20191121110112.9959.log
Last 10 log lines:
(cd /home/br0ke/.asdf/installs/python/3.4.10/share/man/man1; ln -s python3.4.1 python3.1)
if test "xupgrade" != "xno" ; then \
case upgrade in \
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 9.0.1 requires SSL/TLS
It may mean that I have too fresh OpenSSL version installed in my system and this version is not supported by Python I'm trying to build.这可能意味着我的系统中安装了太新的 OpenSSL 版本,而我正在尝试构建的 Python 不支持该版本。 I managed to install Python 3.4.10 on my Fedora 30 machine (has OpenSSL 1.1+ by default) using the following steps:我设法使用以下步骤在我的 Fedora 30 机器上安装了 Python 3.4.10(默认情况下有 OpenSSL 1.1+):
$ sudo dnf remove openssl-devel
$ sudo dnf install compat-openssl10 compat-openssl10-devel
asdf
but it should work with pyenv
as well):构建 Python 3.4.10(我使用asdf
但它也应该与pyenv
一起使用):$ asdf install python 3.4.10
$ sudo dnf remove compat-openssl10-devel
$ sudo dnf install openssl-devel
Inspired by this workaround with help from Fedora community people .在Fedora 社区人员的帮助下, 受此解决方法的启发。
如果您使用的是 RedHat Enterprise Linux,则可以使用以下命令:
yum install openssl-devel -y
If you use Manjaro Linux, you can use this:如果你使用 Manjaro Linux,你可以使用这个:
sudo pacman -S openssl , check sudo pacman -S openssl ,检查
CentOS or RHEL machine Python3(3.7.0) ssl not supported as of now.目前尚不支持 CentOS 或 RHEL 机器 Python3(3.7.0) ssl。
pip installation supported with Python <=3.6 Python <=3.6 支持 pip 安装
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.