CentOS6上CondaSSLError: OpenSSL appears to be unavailable on this machine的问题处理

CentOS6上使用conda的一些问题坑

1 CentOS6上可以安装Anaconda/Miniconda的版本

我习惯用Miniconda,后面都说Miniconda。系统为x86_64的

新版的Miniconda会对系统版本有要求,主要在于系统的GLIBC版本,新版的大都要求最低要求GLIBC_2.17,而CentOS6默认只到GLIBC_2.12。

1.1 CentOS6上能用的最新GLIBC

因为新版的Miniconda都提示要最低GLIBC_2.17,因此直接编译安装。结果2.17与系统不兼容,会导致大部分命令无法使用,恰好断开系统ssh连接的话,糟糕,再也连不上了。。。

经测试,CentOS5最高可以安装GLIBC_2.15,2.16以上不兼容。即便使用LD_PRELOAD,Miniconda新版也无法安装和使用。

1.2 CentOS6上能用的最新Miniconda

  • Miniconda3-py38_4.12.0:GLIBC_2.15
  • Miniconda3-py38_4.11.0:GLIBC_2.15
  • Miniconda3-py38_4.10.3:GLIBC_2.12 但里面有依赖需要2.17,如:zlib==1.2.11=h7b6447c_3 -> libgcc-ng[version=‘>=7.3.0’] -> __glibc[version=‘>=2.17’],未做进一步测试
  • Miniconda3-py38_4.9.2 :GLIBC_2.12 可以安装了

结论:系统默认GLIBC_2.12版本下,最新可用Miniconda3-py38_4.9.2

2 CondaSSLError: OpenSSL appears to be unavailable on this machine

conda安装了一次包之后,再运行conda命令都会报错,具体报错如:

(base) [user@centos65 ~]$ conda search numba
Loading channels: failed

CondaSSLError: OpenSSL appears to be unavailable on this machine. OpenSSL is required to
download and install packages.

Exception: HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /anaconda/pkgs/main/linux-64/repodata.json (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))

百度没有答案。

于是看问题是SSL方面的问题,因为conda的channel都是https的,我想修改城http应该就可以了,试了下好像可以了。但是这样并没有实际解决问题,于是看报错是openssl方面的,于是运行了一下openssl命令,结果果然报错了:

(base) [user@centos65 ~]$ openssl
openssl: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by openssl)
openssl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by openssl)
openssl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/local/miniconda3/bin/../lib/libssl.so.1.1)
openssl: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /opt/local/miniconda3/bin/../lib/libcrypto.so.1.1)
openssl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/local/miniconda3/bin/../lib/libcrypto.so.1.1)
openssl: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /opt/local/miniconda3/bin/../lib/libcrypto.so.1.1)
openssl: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /opt/local/miniconda3/bin/../lib/libcrypto.so.1.1)

openssl命令无法运行,报GLIBC版本错误(系统默认2.12的)。检查下更新记录,上次安装包的时候更新了openssl:

The following packages will be UPDATED:

  openssl                                 1.1.1h-h7b6447c_0 --> 1.1.1t-h7f8727e_0

openssl 从 1.1.1h 更新到 1.1.1t。
解决办法:既然老版本可以使用,那么每次安装包的时候,都指定不更新openssl即可,如:

conda install openssl==1.1.1h pandas numba

即,每次安装软件加前缀conda install openssl==1.1.1h。具体是因为什么就没深究了。

### 回答1: 这个错误表明你的机器上没有安装 OpenSSLConda 需要 OpenSSL 来下载和安装软件包。请尝试在终端中运行 "conda install openssl" 来安装 OpenSSL。如果还是无法解决问题,可能需要寻求其他解决方案,例如使用其他网络连接或者联系系统管理员。 ### 回答2: CondaSSLError错误是因为在计算机上未找到OpenSSL。要解决此问题,需要安装OpenSSL软件。 以下是解决步骤: 1. 首先,打开终端或命令提示符窗口。 2. 在终端或命令提示符中,输入以下命令(取决于您使用的操作系统)以安装OpenSSL: - 在Debian/Ubuntu上:sudo apt-get install openssl - 在Fedora/CentOS上:sudo yum install openssl - 在Windows上:从OpenSSL官方网站(https://www.openssl.org/source/)下载适用于您的操作系统的安装程序,并按照安装指南进行安装。 3. 安装完成后,重新启动计算机以使更改生效。 4. 在重启后,再次尝试使用Conda下载和安装包,应该不再出现“CondaSSLError: OpenSSL appears to be unavailable on this machine”的错误。 请注意,以上步骤是针对缺少OpenSSL的情况。如果您已经安装了OpenSSL但仍然遇到该错误,请确保OpenSSL已正确配置和更新,并尝试升级Conda或使用其他版本的Conda。如果问题仍然存在,请向Conda社区求助以获取更多帮助。 ### 回答3: CondaSSLError错误表示在计算机上无法使用OpenSSLOpenSSL是用于下载和安装包所必需的。 OpenSSL是一个开源的加密库,它提供了一套用于处理网络传输中加密和解密的函数。在使用Conda进行包的下载和安装时,由于安全性要求,Conda需要使用OpenSSL来确保数据的安全传输。因此,如果计算机上没有安装或配置OpenSSL,就会出现CondaSSLError错误。 要解决这个问题,首先需要确认计算机上是否已经正确安装了OpenSSL。可以通过在命令行窗口中输入"openssl version"命令来检查。如果命令能够正常执行并且显示当前安装的OpenSSL版本号,那么说明OpenSSL已经正确安装。 如果没有安装OpenSSL,可以通过以下步骤来安装它: 1. 打开终端或命令行窗口。 2. 如果是Windows系统,可以从OpenSSL官方网站(https://www.openssl.org/)下载最新的Windows版本,并按照安装向导进行安装。 如果是Linux系统,可以使用相应的包管理器(如apt、yum等)来安装OpenSSL。例如,在Ubuntu系统中可以使用以下命令进行安装: $ sudo apt-get install opensslCentOS系统中可以使用以下命令进行安装: $ sudo yum install openssl 3. 完成安装后,再次运行"openssl version"命令来确认OpenSSL已经成功安装。 如果已经安装了OpenSSL但仍然出现CondaSSLError错误,可能是因为Conda没有正确配置OpenSSL的路径。在这种情况下,可以通过在命令行窗口中运行以下命令来配置OpenSSL路径: $ export OPENSSL_ROOT_DIR=<OpenSSL的安装路径> 替换"<OpenSSL的安装路径>"为实际的OpenSSL安装路径,然后尝试再次使用Conda下载和安装包,希望能够成功解决CondaSSLError错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值